gpt4 book ai didi

python - 如何在 matplotlib python 中自动调整文本大小?

转载 作者:太空狗 更新时间:2023-10-29 20:52:40 26 4
gpt4 key购买 nike

我在 matplotlib 中有一个绘图,我的问题是因为当绘图窗口调整​​大小时 x ax 将字符串作为值,它们重叠并且无法清楚地读取。

类似的事情发生在图例上,如果调整窗口大小,它不会调整大小。

是否有相应的设置?

最佳答案

不完全是。 (不过,请查看 the new matplotlib.pyplot.tight_layout() function 以寻找模糊相似的内容...)

但是,长 x 刻度标签的常用技巧就是旋转它们。

例如,如果我们有重叠的 xticklabels:

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

enter image description here

我们可以旋转它们以使其更易于阅读:(关键是 rotation=30。调用 plt.tight_layout() 只是调整底部边距的情节,这样标签就不会离开底部边缘。)

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

enter image description here

默认情况下,刻度标签以刻度为中心。对于旋转的刻度,让标签的左边缘或右边缘从刻度开始通常更有意义。

例如,像这样的东西(右侧,正向旋转):

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

enter image description here

或者这个(左侧,负旋转):

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

enter image description here

关于python - 如何在 matplotlib python 中自动调整文本大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8182124/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com