pyplot-常用图表

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()

原文地址:https://www.cnblogs.com/yoyo1216/p/10131687.html