关于#python#的问题,如何解决?

我使用的是jupter上的python,我是在画DCA决策曲线这块遇到了困难,我想同时画出4条决策曲线,目前的代码只能画出来三条,请问各位如何修改一下代码能同时画出来4条,请写出修改后的代码,谢谢!

img

img


img


img


from onekey_algo.custom.components.comp1 import plot_DCA
plot_DCA([ALL_VS_NEI_VS_ZHOU['label-1_x'], ALL_VS_NEI_VS_ZHOU['label-1_y'], ALL_VS_NEI_VS_ZHOU['label-1']],
ALL_VS_NEI_VS_ZHOU['label'], title=f'Model for DCA', labels=['2D+3D+Clinical', '2D', '3D'])
plt.savefig(f'img/model_dca2.svg', bbox_inches = 'tight')

img

我现在帮你看看,望采纳!

解决了吗

在画DCA决策曲线时,通常需要计算四个指标:真正例率(True Positive Rate,TPR)、假正例率(False Positive Rate,FPR)、真反例率(True Negative Rate,TNR)、假反例率(False Negative Rate,FNR)。

因此要同时画出四条决策曲线,你需要计算这四个指标的值,并用 Matplotlib 画出四条曲线。

举个例子供参考


import matplotlib.pyplot as plt

# 计算指标的值
tpr = [0.1, 0.2, 0.3, 0.4]
fpr = [0.1, 0.2, 0.3, 0.4]
tnr = [0.9, 0.8, 0.7, 0.6]
fnr = [0.9, 0.8, 0.7, 0.6]

# 画出四条决策曲线
plt.plot(fpr, tpr, label="TPR")
plt.plot(fpr, tnr, label="TNR")
plt.plot(fpr, fnr, label="FNR")
plt.plot(fpr, fpr, label="FPR")
plt.legend()
plt.show()

望采纳!!点击该回答右侧的“采纳”按钮即可采纳!!
使用 Python 画出四条决策曲线的方法如下:

首先,导入需要的库:


```bash

import matplotlib.pyplot as plt
import numpy as np
//然后,准备决策曲线的数据:

# 模拟四条决策曲线的数据
N = 100  # 数据点的数量
x = np.linspace(0, 1, N)  # 横坐标
y1 = x**2  # 决策曲线 1
y2 = x**3  # 决策曲线 2
y3 = x**4  # 决策曲线 3
y4 = x**5  # 决策曲线 4
//接下来,调用 plot() 函数画出决策曲线:

# 画出决策曲线
plt.plot(x, y1, label='Curve 1')
plt.plot(x, y2, label='Curve 2')
plt.plot(x, y3, label='Curve 3

```

你可以通过调用函数多次来解决这个问题。你可以修改你的代码如下:

from onekey_algo.custom.components.comp1 import plot_DCA
plot_DCA([ALL_VS_NEI_VS_ZHOU['label-1_x'], ALL_VS_NEI_VS_ZHOU['label-1_y'], ALL_VS_NEI_VS_ZHOU['label-1']], ALL_VS_NEI_VS_ZHOU['label'], title=f'Model for DCA', labels=['2D+3D+Clinical', '2D', '3D'])
plot_DCA([ALL_VS_NEI_VS_ZHOU['label-2_x'], ALL_VS_NEI_VS_ZHOU['label-2_y'], ALL_VS_NEI_VS_ZHOU['label-2']], ALL_VS_NEI_VS_ZHOU['label'], title=f'Model for DCA', labels=['2D+3D+Clinical', '2D', '3D'])
plot_DCA([ALL_VS_NEI_VS_ZHOU['label-3_x'], ALL_VS_NEI_VS_ZHOU['label-3_y'], ALL_VS_NEI_VS_ZHOU['label-3']], ALL_VS_NEI_VS_ZHOU['label'], title=f'Model for DCA', labels=['2D+3D+Clinical', '2D', '3D'])
plot_DCA([ALL_VS_NEI_VS_ZHOU['label-4_x'], ALL_VS_NEI_VS_ZHOU['label-4_y'], ALL_VS_NEI_VS_ZHOU['label-4']], ALL_VS_NEI_VS_ZHOU['label'], title=f'Model for DCA', labels=['2D+3D+Clinical', '2D', '3D'])

plt.savefig(f'img/model_dca2.svg', bbox_inches = 'tight')

注意:在这段代码中,我假设你已经有了所有的 label-1_x 到 label-4_x 和 label-1_y 到 label-4_y 以及 label-1 到 label-4 这些列表。
希望对您有所帮助,望采纳。

解决了吗

如果您想同时画出 4 条决策曲线,您可以在您的代码中添加一个新的决策曲线。

下面是一个示例代码,它展示了如何绘制 4 条决策曲线:

import matplotlib.pyplot as plt

# some data
x = [0, 1, 2, 3, 4, 5]
y1 = [1, 3, 4, 6, 8, 10]
y2 = [2, 4, 6, 8, 10, 12]
y3 = [3, 6, 9, 12, 15, 18]
y4 = [4, 8, 12, 16, 20, 24]

# plotting data
plt.plot(x, y1, label="Decision 1")
plt.plot(x, y2, label="Decision 2")
plt.plot(x, y3, label="Decision 3")
plt.plot(x, y4, label="Decision 4")

# formatting plot
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Decision Curve Analysis")
plt.legend()
plt.show()

该代码中包含了 4 个 y 数组 (y1, y2, y3, y4),每个数组都有相应的决策曲线。
希望对你有帮助,望采纳。