python绘制直方图的方法

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

import numpy as np import matplotlib.pyplot as plt import os #导入os库 x_norm1=np.random.randn(1000) plt.rcParams['axes.unicode_minus']=False#显示负号\n", plt.figure(figsize=(6,4))## 设置画布\n", plt.hist(x_norm1,bins=50) plt.show()

plt.rcParams['axes.unicode_minus']=False#显示负号\n", plt.figure(figsize=(6,4))## 设置画布\n", # plt.hist(x_norm1,bins=50) x_norm2=2+np.random.randn(1000) x_norm3=4+np.random.randn(1000) plt.figure(figsize=(6,4))## 设置画布\n", plt.hist(x_norm1,bins=50,density=True,color='r') plt.hist(x_norm2,bins=50,density=True,color='g') plt.hist(x_norm3,bins=50,density=True,color='b') plt.show()

使用randn方法再产生两个正态分布的数组,绘制多个数组的直方图。

hist() 方法默认绘制频数图,及每个bin内数据的数量,要绘制概率图,需要将density参数设置为True.

p = plt.figure(figsize=(12,12))\n",     "# 子图1,点线图\n",     "ax1 = p.add_subplot(2,2,1)#2行2列4幅子图的第1幅\n",     "plt.plot(x,y1,color = 'r',linestyle = '--',marker = 'o')\n",     "plt.plot(x,y2,color = 'b',linestyle = '-',marker = '*')\n",     "plt.plot(x,y3,color = 'g',linestyle = '-',marker = '^')\n",     "plt.title('点线图')#添加标题\n",     "plt.legend(['曲线y1','曲线y2','曲线y3'])\n",     "plt.xlabel('x')#添加横轴标签\n",     "plt.ylabel('y')#添加y轴名称\n",     "# 子图2,柱状图\n",     "ax1 = p.add_subplot(2,2,2)#2行2列4幅子图的第2幅\n",     "plt.bar([0,1,2],[np.sum(y1),np.sum(y2),np.sum(y3)],width = 0.5)## 绘制柱状图\n",     "plt.title('柱状图')#添加标题\n",     "labels=['y1的和','y2的和','y3的和']\n",     "plt.xlabel('数据系列y')#添加横轴标签\n",     "plt.ylabel('数据系列y的和')#添加y轴名称\n",     "plt.xticks(range(3),labels)\n",     "# 子图3,饼图\n",     "ax1 = p.add_subplot(2,2,3)#2行2列4幅子图的第3幅\n",     "plt.pie([np.sum(y1),np.sum(y2),np.sum(y3),],labels=labels,\n",     "        autopct='%1.1f%%')#绘制饼图\n",     "plt.title('饼图')#添加标题\n",     "# 子图4,箱线图\n",     "ax1 = p.add_subplot(2,2,4)#2行2列4幅子图的第4幅\n",     "labels=['数据系列y1','数据系列y2','数据系列y3']\n",     "plt.boxplot([y1,y2,y3],notch=True,labels = labels, meanline=True)\n",     "plt.title('箱线图')#添加标题\n",     "plt.xlabel('数据系列y')#添加横轴标签\n",     "plt.ylabel('数据系列y的值')#添加y轴名称\n",     "plt.savefig(path+'4subgraph.webp')#保存图片\n",     "plt.show()"

绘制2x2的子图,matplotlib.pyplot 使用add_subplot()函数或subplot()函数设置和添加子图。

推荐阅读