python绘制直方图的方法
作者:lengedd
这篇文章主要为大家详细介绍了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")
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
