如何在条形图上正确放置条形图

奇克拉

我正在尝试生成直方图的条形图,正在使用numpy计算一组图像,但是我的图实际上并未在轴上绘制条形图。我使用的代码是:

def makebarplot(bins, values, title = None, export = False,
              path = None, file_name = None):
    '''
    This function will take the outputs
    of np.histogram results and make a 
    barplot of it.
    '''
    #creating the object
    img, ax1 = plt.subplots(figsize = (13,8))

    ax1.bar(bins[:-1],values)

    #adjusting the graphic
    ax1.set_xscale('log')
    ax1.set_yscale('log')
    ax1.set_xlabel('Values')
    ax1.set_xticks(bins)
    ax1.set_ylabel('Frequency')
    ax1.set_title(title)

    plt.show()

    if export is True:
        #saving figure
        img.savefig(path+file_name, bbox_inches = 'tight')

    #closing the plot    
    #plt.close()

    return

#the bins I'm using
bins = [1e1**i for i in range(2,20)]

#the values I'm entering they are the frequency of
# values in between each of the corresponding 
#bins defined above
values = [0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 
          1.000000e+00, 1.000000e+01, 1.100000e+02, 8.870000e+02, 
          6.582000e+03, 4.542300e+04, 2.630240e+05, 1.090866e+06, 
          2.281769e+06, 1.199336e+06, 4.057230e+05,
          6.878300e+04, 1.211000e+03]

makebarplot(bins,ar_values)

我从中得到的结果是: 当前尝试

该图应类似于此的条形图: 在此处输入图片说明

我想念什么?

我当时正在咨询一则帖子,暗示这可能是由于条形位置不正确而发生的,但是,我未能掌握将其与数据连接的概念,或者是否缺少其他信息。

Also I can't understand why I had to trim one of the bins so the values and bins should have the same length. Since the results would fit in between then naturally I would assume that the bins have one more length than the list containing the values.

ImportanceOfBeingErnest

Only because you name the positions of the bars bins, does not mean they become bins. (As in "I named my car 'Ferrari', but it didn't become red.")

因此,这里发生的是将条形图放置在左边的垃圾箱边缘(如您指定bins[:-1]的位置)。但是,未指定条的宽度,因此matplotlib采用默认的1单位条宽度。一个规模超过20个数量级的单元确实很小。实际上,在13英寸宽,dpi为100的图形上,您的分辨率大约是每个像素7e14个单位,远大于1。

最后,还可以定义条的宽度。然后,您还需要将这些条对齐到其左边缘。

ax1.bar(bins[:-1],values, width=np.diff(bins), align="edge", ec="k")

(这里npnumpy

在此处输入图片说明

请注意,缺少前四个条形图,因为它们的高度是0,在对数刻度上未定义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在条形图上的条形上方写文本(Python)?

如何命令条形图放置在刻度线之间?

如何在matplotlib中获取条形图/堆叠条形图上的标签?

如何在ggplot2地图上绘制条形图

如何在条形图的条形图中显示值?

如何在所有条形图子图上显示x轴标签?

如何分隔条形图?

如何在NetLogo中创建条形图,条形图并排放置

如何设置条形图/条形图的颜色?

如何在Chart.js条形图的x轴上居中放置条形图?

如何在倒立柱图上显示与条形图相同的标签

图表如何在条形图上的特定条形图之间添加垂直虚线?

无法在条形图上应用颜色图

如何在条形图上添加图例?

如何在条形图上堆叠图标?

如何在直方图中拆分和堆叠条形图,仅填充下部条形图?

如何在R代码中向条形图添加SE条形图?

如何在条形图和折线图的同一图上绘制多个列表?

如何在海洋条形图的每个条形图的顶部显示y值?

如何在Charts_flutter包的条形图中的条形图上添加onTap函数

如何使用ggplot2在条形图上放置标签?

如何在我的ggplot2 2因子条形图上放置标准误差条?

条形图多余的条形图

我如何绘制附在箱形图上的条形图

如何创建水平堆叠的条形图,在条形图上本身以及条形图上的标签?

MATLAB条形图:如何组合条形图?

如何在谷歌地图上叠加条形图?

IOS 条形图 - 如何在条形图上显示值(1.0、2.0 等)标签并在条形图滚动上显示特定值(如 3 - 7)

WPF条形图如何在条形之间添加空格?