我試圖改變在x軸上的刻度值的imshow
陰謀使用下面的代碼:當使用imshow時自定義刻度自動調整?
import matplotlib.pyplot as plt
import numpy as np
def scale_xaxis(number):
return(number+1001)
data = np.array([range(10),range(10,20)])
fig = plt.figure(figsize=(3,5))
ax = fig.add_subplot(111)
ax.imshow(data,aspect='auto')
ax.autoscale(False)
xticks = ax.get_xticks()
ax.xaxis.set_ticklabels(scale_xaxis(xticks))
plt.savefig("test.png")
Resulting image http://ubuntuone.com/2Y5ujtlEkEnrlTcVUxvWLU
然而,X-蜱重疊,並具有「非圓」值。有沒有辦法讓matplotlib自動執行此操作?通過使用set_ticklabels
或其他方式?
這適用於特定的問題,並解答日我問了一個問題(回想起來,我發現我說的很差)。但它並沒有真正解決我的主要問題:我需要一些方法來使matplotlib選擇合適的刻度數。 例如,如果返回(數字+ 1001)返回(數字+ 10001)。那我怎麼能讓matplotlib自動選擇正確數量的刻度以避免重疊? 我應該接受答案並提出一個新問題,還是應該編輯此問題? – Magnus
@Magnus查看編輯 – tacaswell
使用'extent'解決了它,謝謝! – Magnus