我使用此代码为轴添加单位,但x轴看起来很糟糕,数字和单位被覆盖。你知道如何解决它吗?
plt.gca().xaxis.set_major_formatter(FormatStrFormatter('%d cm'))
plt.gca().yaxis.set_major_formatter(FormatStrFormatter('%d cm'))
答案 0 :(得分:4)
无需指定每个标记中使用的单位,因为它在整个特定轴上都是相同的。我建议你使用xlabel()
和ylabel()
方法,就像matplotlib文档中的这个例子一样:
http://matplotlib.org/examples/text_labels_and_annotations/text_demo_fontdict.html
答案 1 :(得分:3)
您需要旋转刻度线的文本,试试这个:
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
plt.plot(range(1000,11000,1000),range(10))
plt.gca().xaxis.set_major_formatter(mticker.FormatStrFormatter('%d cm'))
plt.gca().yaxis.set_major_formatter(mticker.FormatStrFormatter('%d cm'))
for txt in plt.gca().xaxis.get_majorticklabels():
txt.set_rotation(90)
plt.tight_layout()
plt.show()