python绘制直方图的方法
来源:脚本之家    时间:2022-04-21 18:03:52

本文实例为大家分享了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")

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

关键词: 希望大家 为大家分享 大家参考

X 关闭

X 关闭