簡體   English   中英

xticks結束數字在x軸上的過早放置,即刻度不到達右端

[英]xticks ends placement of numbers on x-axis prematurely, i.e. the ticks do not reach the right end

我有一個簡單的腳本來描繪TPR / SP的權衡。

它產生一個像pdf(注意x軸數字的位置): 在此輸入圖像描述

相關代碼可能是:

xticks(range(len(SP_list)), [i/10.0 for i in range(len(SP_list))], size='small')

整個代碼是:

SN_list = [0.89451476793248941, 0.83544303797468356, 0.77215189873417722, 0.70042194092827004, 0.63291139240506333, 0.57805907172995785, 0.5527426160337553, 0.5527426160337553, 0.53586497890295359, 0.52742616033755274, 0.50632911392405067, 0.48101265822784811, 0.45569620253164556, 0.43459915611814348, 0.40084388185654007, 0.3628691983122363, 0.31223628691983124, 0.25738396624472576, 0.20253164556962025, 0.12658227848101267, 0.054852320675105488, 0.012658227848101266]
SP_list = [0.24256292906178489, 0.24780976220275344, 0.25523012552301255, 0.25382262996941896, 0.25684931506849318, 0.36533333333333334, 0.4548611111111111, 0.51778656126482214, 0.54978354978354982, 0.59241706161137442, 0.63492063492063489, 0.80851063829787229, 0.81203007518796988, 0.85123966942148765, 0.88785046728971961, 0.91489361702127658, 0.9135802469135802, 0.9242424242424242, 0.94117647058823528, 0.967741935483871, 1.0, 1.0]

figure()

xlabel('Score cutoff point')

ylabel('Percent')

plot(SP_list)

plot(SN_list)

legend(('True Positive Rate', 'Specificity'), 'upper left', prop={"size":9}, shadow=False, fancybox=False)

grid(False)

xticks(range(len(SP_list)), [i/10.0 for i in range(len(SP_list))], size='small')

savefig('SP_SN.png')

您可以在xticks() autoscale()之后調用xticks() ,它將自動設置新軸的限制。

在此輸入圖像描述

它完全按照你的說法去做。 問題是默認的tick定位器與你使用xticks 默認情況下,定位器會嘗試設置一個范圍,以便為您提供“漂亮”的刻度位置。 如果你刪除xticks行,你會看到它給你一個[0, 25] xticks [0, 25] 當您使用xticks它會將給定的字符串放在給定的位置,但不會更改限制。 您只需要通過添加來設置限制

xlim([0, len(SP_list) - 1])

由於某些我無法看到的原因,自動縮放不適用於您的繪圖...在這種情況下,您必須強制繪制圖的x刻度:

你可以試試:

nticks = len(SP_list)
ticks = arange(nticks)
xticks(ticks, 0.1*ticks, size='small')
xlim(ticks.min(), ticks.max())
show()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM