如何在matplotlib python中自动调整文本大小?
我在matplotlib中有一个绘图,我的问题是,因为当绘图窗口调整大小时,x轴将字符串作为值,它们重叠,无法清晰地读取 类似的情况也发生在图例上,如果调整窗口大小,则图例不会调整大小 有这样的设置吗?不完全是这样。(不过,看看有没有什么模糊不清的相似之处……) 然而,使用长x记号标签的常见技巧只是旋转它们 例如,如果我们有重叠的Xticklabel:如何在matplotlib python中自动调整文本大小?,python,matplotlib,Python,Matplotlib,我在matplotlib中有一个绘图,我的问题是,因为当绘图窗口调整大小时,x轴将字符串作为值,它们重叠,无法清晰地读取 类似的情况也发生在图例上,如果调整窗口大小,则图例不会调整大小 有这样的设置吗?不完全是这样。(不过,看看有没有什么模糊不清的相似之处……) 然而,使用长x记号标签的常见技巧只是旋转它们 例如,如果我们有重叠的Xticklabel: import matplotlib.pyplot as plt plt.plot(range(10)) labels = [15 * repr
import matplotlib.pyplot as plt
plt.plot(range(10))
labels = [15 * repr(i) for i in range(10)]
plt.xticks(range(10), labels)
plt.show()
我们可以旋转它们以使它们更易于阅读:(关键是旋转=30
。调用plt.tight_layout()
只需调整绘图的底边距,这样标签就不会离开底边。)
默认情况下,记号标签以记号为中心。对于旋转的记号,标签的左边缘或右边缘从记号开始通常更有意义
例如,类似这样的内容(右侧,正旋转):
或者这个(左侧,负旋转):
Joe,如果我不想要任何数字并赢回空间,那么制作的画布没有边距,只有正方形(理想情况下只有图形,没有线条),该怎么办?我试图在gtk容器中显示它,我需要它精确定位
a.axis('off')
只删除数字,而a.margins(0,tight=True)
似乎无法操作。。。救命啊@xaccrocheur-ax.边距
控制自动缩放数据限制的工作方式,而不是绘图的“外部”边距。如果要控制轴占据画布的多少,请1)使用ax=fig.add_轴([0,0,1,1])
,手动制作占据整个图形的轴,或2)使用subplot\u adjust
更改子图的“外部”边距(例如fig.subplot\u adjust(0,0,1,1)
)
import matplotlib.pyplot as plt
plt.plot(range(10))
labels = [10 * repr(i) for i in range(10)]
plt.xticks(range(10), labels, rotation=30)
plt.tight_layout()
plt.show()
import matplotlib.pyplot as plt
plt.plot(range(10))
labels = [10 * repr(i) for i in range(10)]
plt.xticks(range(10), labels, rotation=30, ha='right')
plt.tight_layout()
plt.show()
import matplotlib.pyplot as plt
plt.plot(range(10))
labels = [10 * repr(i) for i in range(10)]
plt.xticks(range(10), labels, rotation=-30, ha='left')
plt.tight_layout()
plt.show()