当前位置: 首页 > 知识库问答 >
问题:

Python matplotlib编辑直方图

充栋
2023-03-14

我使用matplotlib创建直方图。仍然有一些问题我自己或借助互联网无法解决。

>

  • 如何更改某些垃圾箱的颜色?详细地说,我想用:a.)value bin更改箱子的颜色

    如何不仅用1个小数点的数字标记X轴,而且用2个小数点标记X轴(现在只是不打印)?

    import matplotlib.pyplot as plt
    import numpy as np
    import csv
    
    thickness = []  #gets thickness from list
    bins = [1.00,1.01,1.02,1.03,1.04,1.05,1.06,1.07,1.08,1.09,1.10,1.11,1.12,1.13,1.14,1.15,1.16,1.17,1.18,1.19,1.20,1.21,1.22,1.23,1.24,1.25,1.26,1.27,1.28,1.29,1.30,1.31,1.32,1.33,1.34,1.35,1.36,1.37,1.38,1.39,1.40,1.41,1.42,1.43,1.44,1.45,1.46,1.47,1.48,1.49,1.50
    ] #set bins manuelly
    
    with open('control.txt','r') as csvfile:
    plots = csv.reader(csvfile, delimiter=',')
    for row in plots:
        #x.append(float(row[0]))
        thickness.append(float(row[1]))
    
    plt.hist(thickness, bins, align='left', histtype='bar', rwidth=0.8, color='green')
    
    plt.xlabel('thickness [mm]')
    plt.ylabel('frequency')
    plt.title('Histogram')
    plt.show()
    

    请参见下面绘制的柱状图:

    plt。迄今为止的直方图

  • 共有1个答案

    白飞飙
    2023-03-14

    类似这样的内容(可能有一些bug):

    import matplotlib.pyplot as plt
    import numpy as np
    import csv
    from matplotlib.ticker import FormatStrFormatter
    
    
    thickness = []  #gets thickness from list
    bins = [1.00,1.01,1.02,1.03,1.04,1.05,1.06,1.07,1.08,1.09,1.10,1.11,1.12,1.13,1.14,1.15,1.16,1.17,1.18,1.19,1.20,1.21,1.22,1.23,1.24,1.25,1.26,1.27,1.28,1.29,1.30,1.31,1.32,1.33,1.34,1.35,1.36,1.37,1.38,1.39,1.40,1.41,1.42,1.43,1.44,1.45,1.46,1.47,1.48,1.49,1.50
    ] #set bins manuelly
    
    with open('control.txt','r') as csvfile:
    plots = csv.reader(csvfile, delimiter=',')
    for row in plots:
        #x.append(float(row[0]))
        thickness.append(float(row[1]))
    
    h,bins = plt.hist(thickness, bins)
    plt.clf()
    fig, ax = plt.subplots()
    ax.bar(bins[bins<1.2],h[bins<1.2],rwidth=0.8, color='red')
    plt.bar(bins[np.logical_and(bins>1.2,bins<1.5)],h[np.logical_and(bins>1.2,bins<1.5)],rwidth=0.8, color='green')
    ax.bar(bins[bins>1.5],h[bins>1.5],rwidth=0.8, color='red')
    
    ax.set_xlabel('thickness [mm]')
    
    ax.set_ylabel('frequency')
    ax.set_title('Histogram')
    
    ax.yaxis.set_major_formatter(FormatStrFormatter('%.2f'))  
    plt.show()
    
     类似资料:
    • 本文向大家介绍PythonMatplotlib,包括了PythonMatplotlib的使用技巧和注意事项,需要的朋友参考一下 示例 Matplotlib是一个用于Python的数学绘图库,它提供了各种不同的绘图功能。 您可以在此处找到matplotlib文档,并在此处提供SO文档。 Matplotlib提供了两种不同的绘图方法,尽管它们在很大程度上可以互换: 首先,matplotlib提供了py

    • 在Visual Studio代码中,不久前,当我使用View时- 我更新了Visual Studio Code,当我做View- 如何垂直拆分?

    • 在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图。但是首先将修改点代码,使得发布日期属性(ReleaseDate)看上去更好。打开Models \ Movie.cs文件,并添加高亮行如下所示: using System; using System.ComponentModel.DataAnnotations; using System.Data.E

    • 本文向大家介绍JQuery实现可直接编辑的表格,包括了JQuery实现可直接编辑的表格的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JQuery实现可直接编辑的表格。分享给大家供大家参考。具体分析如下: 功能: 创建一个表格,用户单击某个单元格后,可以直接修改单元格文本。 在编辑状态下,用户可按回车键确认修改,按ESC键撤销修改。 效果如下图: 思路: 当用户点击某个单元格后,立即向该单

    • 编辑#2:因为它看起来像一个bug,我已经在javaFx jira中发布了一个bug报告。您必须拥有一个帐户才能访问该问题。如果有新的信息,我会及时更新这篇文章。 原始帖子:我有一个简单的UI,带有一个按钮和一个树状视图。如果按钮被按下,应该会有一个新的项目添加到树视图。此项一出现在树中就应可编辑。 我使用的CellFactory是JavaFXAPI的一部分。 如果我看看api-留档(TreeVi

    • 在JavaFX 8中,我尝试在将新行添加到表中后编辑单元格,以优化用户体验。 选择了正确的行,但单元不会进入编辑模式。嗯,我很偶然地看到了这种情况,但很难再现。我做错了什么?