我在绘制ROC曲线时没有问题,并且也可以按照我的要求进行绘制,但是我面临的问题是(ylim轴)它的范围是从0.1到1.05,并且它仅绘制偶数(0.0 0.2 0.4 ... 1.05),但我想扩展ylim轴(例如0.0 0.1 0.2 0.3 ... 1.05)。我想要一个在绘制ROC曲线时同时包含偶数和奇数的代码。
我在matplotlib中进行了搜索,但没有发现与问题有关的任何内容。
lw = 2
plt.figure()
plt.plot(fpr11, tpr11, 'o-', ms=2, label='ROC_curve_APOE(AUC11 = %0.4f)'
% roc_auc11, color='deeppink', linestyle=':', linewidth=2)
plt.plot(fpr51, tpr51, 'o-', ms=2, label='ROC_curve_Combined AUC5 =
%0.4f)' % roc_auc51, color='cornflowerblue', linestyle=':', linewidth=2)
plt.plot([0, 1], [0, 1], color='navy', lw=lw, linestyle='--')
plt.xlim([0, 1])
plt.ylim([0, 1.05])
plt.xlabel('1-Specificity(False Positive Rate)')
plt.ylabel('Sensitivity(True Positive Rate)')
# plt.title('ROC curve for MCIc vs MCIs')
plt.title('ROC curve for AD vs NC')
plt.legend(loc="lower right")
plt.show()
# plt.savefig('roc_auc.png')
plt.close()
我的预期输出必须与此处https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/#roc_curve_for_binary_svm相同 您可以在该图中看到ylim绘制了从(0.0 0.1 ....向上到1)的每个点。 请帮我解决。
答案 0 :(得分:0)
不确定是否可以在ylim/xlim
中设置步骤,但可以改用xticks/yticks
def frange(x, y, jump):
while x < y:
yield x
x += jump
yield y
plt.yticks(list(frange(0, 1.05, 0.1)))
如何选择替换frange
取决于您,但是您也可以执行
plt.yticks([0, 0.1, 0.2, 0.3, 0.4,....,1.0, 1.05])