在matplotlib中将单位设置为X轴

时间:2014-02-11 17:55:58

标签: python matplotlib

我使用此代码为轴添加单位,但x轴看起来很糟糕,数字和单位被覆盖。你知道如何解决它吗?

plt.gca().xaxis.set_major_formatter(FormatStrFormatter('%d cm'))
plt.gca().yaxis.set_major_formatter(FormatStrFormatter('%d cm'))

enter image description here

2 个答案:

答案 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()