python绘制直方图的方法

本文实例为大家分享了python绘制直方图的具体代码,供大家参考,具体内容如下

用两列数据绘制直方图

#coding=gbk

import xlwings as xw
import pandas  as pd
import matplotlib.pyplot as plt

#pd.set_option('display.max_columns', None)  #解决表格多列时中间省略显示问题
#pd.set_option('display.max_rows', None)    #解决表格多行时中间省略显示问题

#读取excel文件中的数据
app = xw.App(visible = False, add_book = False)
workbook = app.books.open("score1000.xlsx")
worksheet = workbook.sheets[0]  #使用sheets()方法获取所有sheet页,加个序号获取某个sheet页
values = worksheet.range("A1").expand().options(pd.DataFrame, index = False).value
print(values)
workbook.close()
app.quit()

#绘制直方图
figure = plt.figure()
#plt.rcParams['font.sans-serif'] = ['SimHei']  #解决图表中中文显示问题
#plt.rcParams['axes.unicode_minus'] = False   #解决图表中负号显示问题

x = values['total_score']  #指定X轴
y = values['interface_delta_B']  #指定Y轴
plt.bar(x, y, color = 'blue')

#设置图表参数
plt.xlabel('total_score', fontsize = 15, color = 'black')   #设置x轴标签
plt.ylabel('interface_delta_B', fontsize = 15, color = 'green')   #设置y轴标签
#plt.title('score', fontsize = 20)  #设置标题
#plt.axis([-1, 6, -2, 2])   #可手动设置x轴y轴范围
#plt.grid(True)   #设置网格

plt.show()

用一列数据绘制直方图

# coding=gbk
import pandas as pd
import matplotlib.pyplot as plt
from pyecharts import options as opts
from pyecharts.charts import Bar
import numpy as np

df = pd.read_excel("score1000.xlsx",engine='openpyxl')
#print(df["total_score"])

#使用matplotlib画图
# plt.figure()
# plt.hist(df["interface_delta_B"])
# plt.show()

hist,bin_edges = np.histogram(df["interface_delta_B"],bins=100)
# # print(bin_edges)
# # print(len(bin_edges))
# # print(len(hist))

bar=(
    Bar()
    .add_xaxis([str(x) for x in bin_edges[:-1]])
    .add_yaxis("",[float(x) for x in hist],category_gap=0)
    .set_global_opts(
        title_opts=opts.TitleOpts(title="interface_delta_B",pos_left="center"),
        legend_opts=opts.LegendOpts(is_show=False)
    )
)
bar.render("F:total_score.html")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Python Opencv中用compareHist函数进行直方图比较对比图片

    图像直方图 图像直方图是反映一个图像像素分布的统计表,其实横坐标代表了图像像素的种类,可以是灰度的,也可以是彩色的.纵坐标代表了每一种颜色值在图像中的像素总数或者占所有像素个数的百分比. 图像是由像素构成,因为反映像素分布的直方图往往可以作为图像一个很重要的特征.在实际工程中,图像直方图在特征提取.图像匹配等方面都有很好的应用. 直方图比较 1. 图像相似度比较 如果我们有两张图像,并且这两张图像的直方图一样,或者有极高的相似度,那么在一定程度上,我们可以认为这两幅图是一样的,这就是直方图比较的

  • python绘制饼图和直方图的方法

    本文实例为大家分享了python绘制饼图和直方图的具体代码,供大家参考,具体内容如下 #饼图,常与结构分析结合使用 import pandas import numpy import matplotlib import matplotlib.pyplot as plt import matplotlib.font_manager as font_manager #导入数据 plot_pie=pandas.read_csv('D://Python projects//reference data/

  • 教你利用Python玩转histogram直方图的五种方法

    直方图 直方图是一个可以快速展示数据概率分布的工具,直观易于理解,并深受数据爱好者的喜爱.大家平时可能见到最多就是 matplotlib,seaborn 等高级封装的库包,类似以下这样的绘图. 本篇博主将要总结一下使用Python绘制直方图的所有方法,大致可分为三大类(详细划分是五类,参照文末总结): 纯Python实现直方图,不使用任何第三方库 使用Numpy来创建直方图总结数据 使用matplotlib,pandas,seaborn绘制直方图 下面,我们来逐一介绍每种方法的来龙去脉. 纯Py

  • python绘制直方图和密度图的实例

    对于pandas的dataframe,绘制直方图方法如下: //pdf是pandas的dataframe, delta_time是其中一列 //xlim是x轴的范围,bins是分桶个数 pdf.delta_time.plot(kind='hist', xlim=(-50,300), bins=500) 对于pandas的dataframe,绘制概率密度图方法如下: //pdf是pandas的dataframe, delta_time是其中一列 pdf.delta_time.dropna().pl

  • 详解用Python为直方图绘制拟合曲线的两种方法

    直方图是用于展示数据的分组分布状态的一种图形,用矩形的宽度和高度表示频数分布,通过直方图,用户可以很直观的看出数据分布的形状.中心位置以及数据的离散程度等. 在python中一般采用matplotlib库的hist来绘制直方图,至于如何给直方图添加拟合曲线(密度函数曲线),一般来说有以下两种方法. 方法一:采用matplotlib中的mlab模块 mlab模块是Python中强大的3D作图工具,立体感效果极佳.在这里使用mlab可以跳出直方图二维平面图形的限制,在此基础上再添加一条曲线.在这里,

  • 详解python OpenCV学习笔记之直方图均衡化

    本文介绍了python OpenCV学习笔记之直方图均衡化,分享给大家,具体如下: 官方文档 – https://docs.opencv.org/3.4.0/d5/daf/tutorial_py_histogram_equalization.html 考虑一个图像,其像素值仅限制在特定的值范围内.例如,更明亮的图像将使所有像素都限制在高值中.但是一个好的图像会有来自图像的所有区域的像素.所以你需要把这个直方图拉伸到两端(如下图所给出的),这就是直方图均衡的作用(用简单的话说).这通常会改善图像的

  • python绘制简单直方图的方法

    直方图,又称质量分布图,是一种统计报告图,由一系列高度不等的纵条或线段表示数据分布情况.用横轴表示数据类型,纵轴表示分布情况.直方图是数值数据分布的精确图形表示.绘制连续性的数据,展示一组或多组数据的分布状况. 直方图的绘制和条形图有些相似,需要把plt.bar()修改成plt.hist(),更改图形的拟合方式,即可绘制直方图.例如你获取到了250部电影的数量,他们的时长都在80-140分钟,如何呈现电影的时长分布情况呢? 老规矩,上代码: '''     组数=极差/组距 ''' from m

  • Python绘制频率分布直方图的示例

    项目中在前期经常要看下数据的分布情况,这对于探究数据规律非常有用.概率分布表示样本数据的模样,长的好不好看如果有图像展示出来就非常完美了,使用Python绘制频率分布直方图非常简洁,因为用的频次非常高,这里记录下来.还是Python大法好,代码简洁不拖沓~ 如果数据取值的范围跨度不大,可以使用等宽区间来展示直方图,这也是最常见的一种:如果数据取值范围比较野,也可以自定义区间端点,绘制图像,下面分两种情况展示 1. 区间长度相同绘制直方图 #-*- encoding=utf-8 -*- impor

  • python matplotlib库直方图绘制详解

    例题:假设你获取了250部电影的时长(列表a中),希望统计出这些电影时长的分布状态(比如时长为100分钟到120分钟电影的数量,出现的频率)等信息,你应该如何呈现这些数据? 一些概念及问题: 把数据分为多少组进行统计 组数要适当,太少会有较大的统计误差,太多规律不明显 组数:将数据分组,共分为多少组 组距:指每个小组的两个端点的距离 组数:极差 / 组距,也就是 (最大值-最小值)/ 组距 频数分布直方图与频率分布直方图,hist()方法需增加参数normed 注意:一般来说能够使用plt.hi

  • python数字图像处理实现直方图与均衡化

    在图像处理中,直方图是非常重要,也是非常有用的一个处理要素. 在skimage库中对直方图的处理,是放在exposure这个模块中. 1.计算直方图 函数:skimage.exposure.histogram(image,nbins=256) 在numpy包中,也提供了一个计算直方图的函数histogram(),两者大同小义. 返回一个tuple(hist, bins_center), 前一个数组是直方图的统计量,后一个数组是每个bin的中间值 import numpy as np from s

随机推荐