在matplotlib中,如何避免多条形图中的条形图重叠

2024-10-05 12:19:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用可变的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()

Tags: ofobjhostdatabaraxwidthlist

热门问题