pyplot-常用图表
介绍最常用的:折线图、散点图、柱状图、直方图、饼图 的绘制
需要学习的不只是如何绘图,更是什么样的数据用什么图表显示效果最好
折线图
折线图用于显示随时间或有序类别的变化趋势
见:pyplot-plot绘图
散点图
散点图可以显示若干数据系列中各数值之间是否存在相关性
坐标系中,每个值用一个点表示
import matplotlib.pyplot as plt # 传统方式绘制 ''' plt.plot( [3,5,8,10,32,12,9,6,21,22,23,25,25], [5,4,2,12,44,10,2,8,21,22,23,24,25], 'o' #点类型为o ) plt.title('Simple Scatter') ''' # 面向对象方式绘制 fig,ax = plt.subplots() ax.plot( [3,5,8,10,32,12,9,6,21,22,23,25,25], [5,4,2,12,44,10,2,8,21,22,23,24,25], 'o' #点类型为o ) ax.set_title('Simple Scatter') plt.show()
柱状图(横向:条形图)
柱状图用来比较各独立类别下的某单独数据的大小
import matplotlib.pyplot as plt x = [1,2,3,4,5] y = [3,6,1,8,2] width = 0.5 plt.bar( x, y, width, color='r' ) plt.xticks(x,['a','b','c','d','e']) plt.show()
直方图
直方图能直观表达数据的分布情况,一般用来表示同等区间内,某类数值出现的频率
直方图与柱状图的区别:
- 直方图:分区之间连续无间断,表示连续变量;值用矩形面积表示
- 条形图:各柱之间有间隙,表示孤立的、不连续分类变量;值用矩形长度表示
import numpy as np import matplotlib.pyplot as plt np.random.seed(0) #随机种子 mu,sigma = 100,20 #均值和标准差 a = np.random.normal(mu,sigma,size=100) #生成一个 均值/方差 给定的正态分布数组 plt.hist( a, #直方图数据 20, #直方的个数 normed=1, #将y轴默认的数值出现个数归一化为出现的概率 histtype='stepfilled', # stepfilled填充面积,step只有线条 facecolor='b', alpha=0.75 ) plt.title('Histogram') plt.show()
饼图
饼图用于显示各项相对总和的百分比大小
import matplotlib.pyplot as plt labels = ['class1','class2','class3','class4'] #名称 sizes = [15,30,45,10] #比例 explode = (0,0.1,0,0) #突出第二块,突出比例0.1 plt.pie( sizes, #百分比 explode=explode, #突出比例 labels=labels, #名称 autopct='%1.1f%%', #显示百分比方式 shadow=False, #阴影效果 startangle=90 #饼图起始的角度,度数,默认0为右侧水平180度开始,逆时针旋转 ) plt.axis('equal') #正圆形饼图,x/y轴尺寸相等.默认是扁图, plt.show()