城市介绍网站模板,wordpress用户信息界面,中小型网站站内搜索实现,深圳网站建设公司 犀牛云 移动云网站↑↑点击上方蓝字#xff0c;回复资料#xff0c;嘿嘿#xff0c;10个G的惊喜柱状图和直方图是两种非常类似的统计图#xff0c;区别在于#xff1a;直方图展示数据的分布#xff0c;柱状图比较数据的大小。直方图X轴为定量数据#xff0c;柱状图X轴为分类数据。因此回复资料嘿嘿10个G的惊喜柱状图和直方图是两种非常类似的统计图区别在于直方图展示数据的分布柱状图比较数据的大小。直方图X轴为定量数据柱状图X轴为分类数据。因此直方图上的每个条形都是不可移动的X轴上的区间是连续的、固定的。而柱状图上的每个条形是可以随意排序的有的情况下需要按照分类数据的名称排列有的则需要按照数值的大小排列。直方图柱子无间隔柱状图条形有间隔直方图条形宽度可不一柱状图条形宽度须一致。柱状图条形的宽度因为没有数值含义所以宽度必须一致。但是在直方图中条形的宽度代表了区间的长度根据区间的不同条形的宽度可以不同但理论上应为单位长度的倍数。本文将介绍matplotlib中柱状图和直方图的作图方法。from matplotlib import pyplot as pltimport numpy as npimport matplotlib as mplmpl.rcParams[font.sans-serif] [SimHei] # 中文字体支持1 bar()与barh()matplotlib中提供了bar()和barh()两种方法画柱状图bar()用来画垂直柱状图barh()画水平柱状图两者参数大同小异如下所示2 垂直柱状图与水平柱状图value np.arange(6) ** 2category range(len(value))fig plt.figure(figsize(8, 4))# 垂直柱状图ax1 fig.add_subplot(121)ax1.set_title(图1 垂直柱状图)ax1.bar(xcategory, heightvalue)# 垂直柱状图ax2 fig.add_subplot(122)ax2.set_title(图2 水平柱状图)ax2.barh(ycategory, widthvalue) # 注意这里参数名和值的传递与bar()不同plt.show()3 颜色、透明度与边框value np.arange(6) ** 2category range(len(value))fig plt.figure(figsize(8, 4))# 垂直柱状图ax1 fig.add_subplot(121)ax1.set_title(图1 垂直柱状图)ax1.bar(xcategory, heightvalue, alpha0.5, # 透明度 width0.5, # 每个条形的宽度 coloryellow, # 填充前景色 edgecolorred, # 边框颜色 linewidth3 # 边框宽度 )# 垂直柱状图ax2 fig.add_subplot(122)ax2.set_title(图2 水平柱状图)ax2.barh(ycategory, widthvalue, alpha1, # 透明度 height0.8, # 每个条形的宽度 color[green, red, yellow, blue, grey, magenta], # 填充前景色 linewidth3 # 不显示边框 )plt.show()4 刻度标签value np.arange(6) ** 2category range(len(value))fig plt.figure(figsize(8, 4))# 垂直柱状图ax1 fig.add_subplot(121)ax1.set_title(图1 垂直柱状图)ax1.bar(xcategory, heightvalue, tick_label类别 )# 垂直柱状图ax2 fig.add_subplot(122)ax2.set_title(图2 水平柱状图)ax2.barh(ycategory, widthvalue, tick_label[类1, 类2, 类3, 类4, 类5, 类6] )plt.show()5 添加误差线means (20, 35, 30, 35, 27) # 各组平均分std (2, 3, 4, 1, 2) # 组各标准差label (第一组, 第二组, 第三种, 第四组, 第五组)bar_width 0.4bar_x np.arange(len(label)) fig plt.figure(figsize(8, 4))ax1 fig.add_subplot(121)bar1 ax1.bar(xbar_x, heightmeans, widthbar_width, colorgreen, yerrstd, # 添加误差线 ecolorred, # 误差线颜色 capsize5, # 两端线段长短 tick_labellabel )ax2 fig.add_subplot(122)bar2 ax2.barh(ybar_x, widthmeans, heightbar_width, colorgreen, xerrstd, # 添加误差线 ecolorred, # 误差线颜色 capsize5, # 两端线段长短 tick_labellabel )plt.show()6 添加数据标注means (20, 35, 30, 35, 27) # 各组平均分std (2, 3, 4, 1, 2) # 组各标准差label (第一组, 第二组, 第三种, 第四组, 第五组)bar_width 0.5bar_x np.arange(len(label)) fig plt.figure(figsize(10, 4),tight_layoutTrue)ax1 fig.add_subplot(121)bar1 ax1.bar(xbar_x, heightmeans, widthbar_width, colorgreen, tick_labellabel )for b in bar1: height b.get_height() ax1.annotate({}.format(height), xy(b.get_x() b.get_width() / 2, height), xytext(0, 3), # 3 points vertical offset textcoordsoffset points,colorred, hacenter, vabottom)ax2 fig.add_subplot(122)bar2 ax2.barh(ybar_x, widthmeans, heightbar_width, colorgreen, tick_labellabel )for b in bar2: width b.get_width() ax2.annotate({}.format(width), xy(width, b.get_y() b.get_height() / 2), xytext(0, 3), # 3 points vertical offset textcoordsoffset points,colorred, haleft, vacenter)plt.show()7 分组柱状图menMeans (20, 35, 30, 35, 27) # 男生各组平均分womenMeans (25, 32, 34, 20, 25)# 女生各组平均分menStd (2, 3, 4, 1, 2) # 男生组各标准差womenStd (3, 5, 2, 3, 3) # 女生组各标准差label (第一组, 第二组, 第三种, 第四组, 第五组)bar_width 0.4bar_x np.arange(len(label)) fig plt.figure(figsize(8, 4))ax fig.add_subplot(111)ax.set_title(图1 垂直柱状图)bar1 ax.bar(xbar_x - bar_width/2, # 设置不同的x起始位置 heightmenMeans, widthbar_width)bar2 ax.bar(xbar_x bar_width/2, # 设置不同的x起始位置 heightwomenMeans, widthbar_width, )ax.set_xlabel(组别)ax.set_ylabel(分数)ax.set_title(各组不同性别分数)ax.set_xticks(range(5))ax.set_xticklabels(label)ax.set_yticklabels(np.arange(0, 81, 10))ax.legend((bar1, bar2), (男生, 女生))plt.show()8 堆叠柱状图menMeans (20, 35, 30, 35, 27) # 男生各组平均分womenMeans (25, 32, 34, 20, 25)# 女生各组平均分menStd (2, 3, 4, 1, 2) # 男生组各标准差womenStd (3, 5, 2, 3, 3) # 女生组各标准差label (第一组, 第二组, 第三种, 第四组, 第五组)bar_width 0.4bar_x np.arange(len(label)) fig plt.figure(figsize(8, 4))ax fig.add_subplot(111)ax.set_title(图1 垂直柱状图)bar1 ax.bar(xbar_x, heightmenMeans, widthbar_width)bar2 ax.bar(xbar_x, heightwomenMeans, widthbar_width, bottommenMeans # 通过bottom参数设置起始位置, 起始位置就是下半部分(bar1)条形的高度 )ax.set_xlabel(组别)ax.set_ylabel(分数)ax.set_title(各组不同性别分数)ax.set_xticks(range(5))ax.set_xticklabels(label)ax.set_yticklabels(np.arange(0, 81, 10))ax.legend((bar1, bar2), (男生, 女生))plt.show()9 直方图直方图的绘制是通过hist()方法完成。hist()方法参数很多来看看主要的参数data_x [131, 98, 125, 131, 124, 139, 131, 117, 128, 108, 135, 138, 131, 102, 107, 114, 119, 128, 121, 142, 127, 130, 124, 101, 110, 116, 117, 110, 128, 128, 115, 99, 136, 126, 134, 95, 138, 117, 111, 78, 132, 124, 113, 150, 110, 117, 86, 95, 144, 105, 126, 130, 126, 130, 126, 116, 123, 106, 112, 138, 123, 86, 101, 99, 136, 123, 117, 119, 105, 137, 123, 128, 125, 104, 109, 134, 125, 127, 105, 120, 107, 129, 116, 108, 132, 103, 136, 118, 102, 120, 114, 105, 115, 132, 145, 119, 121, 112, 139, 125, 138, 109, 132, 134, 156, 106, 117, 127, 144, 139, 139, 119, 140, 83, 110, 102, 123, 107, 143, 115, 136, 118, 139, 123, 112, 118, 125, 109, 119, 133, 112, 114, 122, 109, 106, 123, 116, 131, 127, 115, 118, 112, 135, 115, 146, 137, 116, 103, 144, 83, 123, 111, 110, 111, 100, 154, 136, 100, 118, 119, 133, 134, 106, 129, 126, 110, 111, 109, 141, 120, 117, 106, 149, 122, 122, 110, 118, 127, 121, 114, 125, 126, 114, 140, 103, 130, 141, 117, 106, 114, 121, 114, 133, 137, 92, 121, 112, 146, 97, 137, 105, 98, 117, 112, 81, 97, 139, 113, 134, 106, 144, 110, 137, 137, 111, 104, 117, 100, 111, 101, 110, 105, 129, 137, 112, 120, 113, 133, 112, 83, 94, 146, 133, 101, 131, 116, 111, 84, 137, 115, 122, 106, 144, 109, 123, 116, 111, 111, 133, 150]fig plt.figure(figsize(8, 4))ax1 fig.add_subplot(121)hists1 ax1.hist(xdata_x, bins5) # 等距划分ax2 fig.add_subplot(122)hists2 ax2.hist(xdata_x,bins[78,90,100,120,140,145,150])plt.show()hist()方法将会返回一个包含三个元素的数组第一个元素为每个条形区间中元素的数量第二个元素为区间的边界第三个元素为Patch实例化对象。hists1(array([ 9., 49., 97., 77., 18.]), array([ 78. , 93.6, 109.2, 124.8, 140.4, 156. ]),)作者奥辰Githubhttps://github.com/ChenHuabin321https://www.cnblogs.com/chenhuabin加入机器学习微信群请后台回复【入群】推荐阅读彻底搞懂机器学习中的正则化Python函数合集足足68个内置函数请收好机器学习中需要了解的 5 种采样方法Pandas切片操作一个很容易忽视的错误欢迎挑战14个数据分析和机器学习项目附数据集复旦大学机器学习、深度学习视频公开课附PDF课件下载阅后点在看养成好习惯