本文实例为大家分享了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")
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did17959