gpt4 book ai didi

python + matplotlib : barh plot show incomplete YTick labels - how to dynamically move the plot area to the right to fit the given YTickLabels?

转载 作者:太空狗 更新时间:2023-10-30 02:12:24 28 4
gpt4 key购买 nike

我正在使用 matplotlibbarh 绘图绘制到文件中。不幸的是,YTickLaels 有点太长,绘图区域不会自动向右移动。有没有办法自动将绘图区域向右移动,这样我就不会遇到不完整的 YTickLabels 问题?

我使用的代码如下:

import matplotlib as mpl
mpl.use('Agg')
import matplotlib.pyplot as plt
D = {u'Label1':26, u'Label2 is longer than others': 17, u'Label3 is not so short either':30}
fig = plt.figure(figsize=(5.5,3),dpi=300)
ax = fig.add_subplot(111)
ax.grid(True,which='both')
bar = ax.barh(range(1,len(D)+1,1),D.values(),0.4,align='center')
plt.yticks(range(1,len(D)+1,1), D.keys(), size='small')
fig.savefig('D_bar.png')

这是输出: output of barh

我该如何解决这个问题?谢谢

最佳答案

实际上,现在有一种自动执行此操作的方法:tight_layout .

在你的情况下:

import matplotlib as mpl
mpl.use('Agg')
import matplotlib.pyplot as plt
D = {u'Label1':26, u'Label2 is longer than others': 17,
u'Label3 is not so short either':30}
fig = plt.figure(figsize=(5.5,3),dpi=300)
ax = fig.add_subplot(111)
ax.grid(True,which='both')
bar = ax.barh(range(1,len(D)+1,1),D.values(),0.4,align='center')
plt.yticks(range(1,len(D)+1,1), D.keys(), size='small')
fig.tight_layout() # <---- ADD THIS
fig.savefig('D_bar.png')

关于 python + matplotlib : barh plot show incomplete YTick labels - how to dynamically move the plot area to the right to fit the given YTickLabels?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16011573/

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