gpt4 book ai didi

python - 如何避免 matplotlib 中多条形图中条形之间的重叠

转载 作者:太空宇宙 更新时间:2023-11-04 01:06:34 25 4
gpt4 key购买 nike

我正在尝试绘制具有可变 x 值的多条形图。我的情节看起来像这样

enter image description here

如您所见,StartFFT_Gflops 中的条与 x 轴上的下一个刻度重叠。有什么方法可以增加刻度线之间的间距,这样我的条形图就不会重叠吗?

我正在使用下面的代码来绘图

def plot_bars(hpcc_data, datapoints):

fig, ax = plt.subplots()

ind = np.arange(len(datapoints)) # array of x-ticks = no of datapoints to plot
offset = 0 # offset distance between bars
bar_legends = list()
bar_obj = list()
width = 0.35
colors = ['b', 'g', 'r', 'c', 'm', 'y', 'k'] # hopefully we won't need more than this
color_idx = 0

for host in hpcc_data:
host_data = hpcc_data[host]
vals = list()
for dp in datapoints:
vals.append(host_data[dp])

bar = ax.bar(ind + offset, vals, width, color=colors[color_idx])
bar_legends.append(host)
bar_obj.append(bar[0])
color_idx += 1

offset += width #for the next host



ax.legend(bar_obj, bar_legends)
ax.set_ylabel('Gflops')
ax.set_title('Scores of hpcc benchmark')
ax.set_xticks(ind + (len(hpcc_data.keys())/2)*width) #approx center the xticks
ax.set_xticklabels(datapoints)

plt.show()

最佳答案

正如@cphlewis 所指出的,x 刻度之间的宽度相隔一个数据值。动态生成 width 有助于解决重叠问题。我现在使用

生成它,而不是静态的 width = 0.35

宽度 = 1.0/(num_items + 2)

这是最终的图表

uncrowded multi-bar chart

关于python - 如何避免 matplotlib 中多条形图中条形之间的重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30065160/

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