gpt4 book ai didi

python - 如何更改绘图的大小并防止 y 轴重叠?

转载 作者:太空宇宙 更新时间:2023-11-03 15:50:44 27 4
gpt4 key购买 nike

我绘制了一个带有大量水平条的水平条形图。有什么方法可以防止y 轴标题和条形图中的条形重叠。或者唯一的方法是增加图表的高度?我尝试过使用:plt.figure(figsize=(13,14)) 但当我尝试用 plt.figure( 替换 plt.show() 时它也不起作用Figsize=(13,14)).show()

我收到错误:用户警告:matplotlib 当前使用非 GUI 后端,因此无法显示图形 “matplotlib 当前正在使用非 GUI 后端,”

import matplotlib.pyplot as plt
plt.rcdefaults()
import numpy as np
import matplotlib.pyplot as plt

length=[477, 531, 568, 651, 1599, 1605, 1635, 1960, 2009, 2446, 2668, 3308, 3433, 3889, 4180, 4529, 5388, 6378, 7588, 7671, 7679, 8505, 8763, 8863, 8910, 9028, 9030, 10124, 10722, 10894, 11103, 11388, 12167, 12464, 14217, 14367, 14472, 16501, 18765, 19407, 19627, 20795, 21727, 21912, 22620, 24871, 25045, 25625, 25867, 27512, 30380, 30424, 31264, 32070, 32277, 33879, 35749, 35932, 37406, 37414, 40040, 42070, 42516, 42804, 44381, 46314, 48216, 48349, 50547, 50796, 53759, 54716, 65888, 81106, 86280, 104522, 179133, 189921]
y_pos = np.arange(len(length))
error = np.random.rand(len(length))
plt.barh(y_pos, length, xerr=error*2, align='center', alpha=0.3)
plt.yticks(y_pos, length)
plt.xlabel('Lengths')
plt.title('Comparison of different cuts')
plt.show()

这是我指的图表:

enter image description here

最佳答案

您正在一个很小的空间内绘制大量条形图并标记每个刻度线。使这一点清晰易读的最简单方法是增加情节的长度。使用 plt.figure(figsize=(10,20)) 立即使绘图对我来说清晰可见。

如果您想保持图形大小相同,您还需要调整其他一些旋钮。首先,您可以使用 height 参数控制每个水平条的高度。默认值为 0.8,因此请尝试使用较低的值。您还可以使用 fontsize 参数控制 yticks 的大小。调整这些参数将为您提供不重叠的柱线/刻度线,但代价是分辨率。要提高使用 plt.savefig 保存图形时的分辨率,请使用 dpi 参数将其设置为高于默认值。

关于python - 如何更改绘图的大小并防止 y 轴重叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41320929/

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