我有一個簡單的情節代碼增加額外的軸蜱使用matplotlib
plt.plot(x,y)
plt.show()
我要添加在x軸上一些額外的蜱除了到最新的版本,讓我們在
extraticks=[2.1, 3, 7.6]
說
正如您所看到的,我沒有刻度線的模式,所以我不想增加整個軸的刻度頻率;只是保持原來的,並添加這些額外...
是否有可能,在所有?
問候
我有一個簡單的情節代碼增加額外的軸蜱使用matplotlib
plt.plot(x,y)
plt.show()
我要添加在x軸上一些額外的蜱除了到最新的版本,讓我們在
extraticks=[2.1, 3, 7.6]
說
正如您所看到的,我沒有刻度線的模式,所以我不想增加整個軸的刻度頻率;只是保持原來的,並添加這些額外...
是否有可能,在所有?
問候
是的,你可以嘗試這樣的:
plt.xticks(list(plt.xticks()[0]) + extraticks)
功能使用的xticks()
。當沒有參數調用時,它返回當前的刻度。用參數調用它,您可以設置勾號位置以及可選的標籤。
爲了完整起見,我想給@列夫 - Levitsky的偉大答案的OO版本:
lines = plt.plot(x,y)
ax = lines[0].axes
ax.set_xticks(list(ax.get_xticks()) + extraticks)
這裏我們使用由plot
返回Lines2D
序列中提取的Axes
對象。通常情況下,如果您使用的是OO界面,則您應該先參考Axes
,然後您可以撥打plot
而不是pyplot
。
角買者
如果由於某種原因,你已修改了軸的限制(例如,通過編程方式放大到數據的一部分),您將需要此手術後恢復它們:
lim = ax.get_xlim()
ax.set_xticks(list(ax.get_xticks()) + extraticks)
ax.set_xlim(lim)
否則,該圖將使x軸顯示軸上的所有可用滴答。
+1非常簡潔的答案。注意:你不需要調用'sorted()'在那裏。顯然不是什麼大不了的。 –
感謝@PaulH的說明,出於某種原因,我認爲它會更安全,但它也沒有它。編輯。 –
如何更改額外門票的間距以避免與其他門票重疊? – Sigur