python数据可视化入门(六):棉棒图,箱线图,误差棒图

 

棉棒图

函数:plt.stem(x,y, linefmt=None, markerfmt=None, basefmt=None)

主要参数:

x: 棉棒的x轴基线的取值范围

y: 棉棒的长度

linefmt: 棉棒的样式,可选择{'-','--',':','-.'},根据实际需求来选择

markerfmt: 棉棒末端的样式

basefmt: 指定基线的样式

label: 图例显示内容

示例

#导包

import matplotlib.pyplot as plt

import numpy as np

#中文显示

plt.rcParams['font.family']='FangSong'

#数据准备

a = np.linspace(0, 10, 20)

b = np.random.randn(20)

#绘制图形,           xyz对应头部,     柱体,        基线

x,y,z=plt.stem(a, b,  markerfmt="o", linefmt="-.", basefmt="--")

#单独设置棉棒末端

plt.setp(x,color='k')

#显示

plt.show()

python数据可视化入门(六):棉棒图,箱线图,误差棒图_第1张图片

 

箱线图

  • 箱形图又称为盒须图、盒式图或箱线图
  • 是一种用作显示一组数据分散情况的统计图。
  • 它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比较。

箱线图的绘制方法是:

  • 先找出一组数据的上边缘、下边缘、中位数和两个四分位数
  • 然后, 连接两个四分位数画出箱体
  • 再将上边缘和下边缘与箱体相连接,中位数在箱体中间

    python数据可视化入门(六):棉棒图,箱线图,误差棒图_第2张图片

 

箱线图利用数据中的五个统计量(最小值、下四分位数、中位数、上四分位数和最大值)来描述数据,它也可以粗略地看出数据是否具有对称性、分布的分散程度等信息,特别可以用于对几个样本的比较。

 

函数:plt.boxplot()

python数据可视化入门(六):棉棒图,箱线图,误差棒图_第3张图片

#导包

import matplotlib.pyplot as plt

import numpy as np

#中文显示

plt.rcParams['font.family']='FangSong'

#数据准备

Chinese =  np.random.randint(65,90,100)

English = np.random.randint(55,90,100)

math = np.random.randint(70,90,100)

grade=[Chinese,English,math]

wid=0.4

#设置坐标轴

label = ['语文','英语','数学']

#绘制箱线图

plt.boxplot(grade,widths=wid,patch_artist=True,labels=label)

#展示

plt.show()

 

python数据可视化入门(六):棉棒图,箱线图,误差棒图_第4张图片

 

误差棒图

函数功能:绘制y轴方向或是x轴方向的误差范围。

函数名称:plt.errorbar(x, y, yerr=a, xerr=b)

x,y :待绘制的数据点

yerr:y轴方向的数据点的计算误差

xerr:x轴方向的数据点的计算误差

fmt:数据点的标记样式和数据点之间的连线

ecolor:误差棒的颜色

elinewidth:误差棒的粗细

ms:数据点的大小

mec:数据点的轮廓(边缘)颜色

mfc:数据点的颜色

capthick:误差棒上下横杠的厚度,值越大越厚,反之越薄。

capsize:误差棒上下横杠的长短,值越大越长,反之越短。

示例
#导包

import matplotlib.pyplot as plt

import numpy as np

#中文显示

plt.rcParams['font.family']='FangSong'

x=np.arange(5)

y=[100,68,79,91,82]

std_err=[7,2,6,10,5]

#误差棒的宽度 ,颜色,横帽

error_att = dict(elinewidth=2, ecolor='red',capsize=3)

'''

带误差棒的柱状图的关键要点在于函数bar()中关键字参数yerr的使用,

误差棒的属性和属性值的控制都由关键字error_kw控制

'''

plt.bar(x,y,color='c',yerr=std_err,error_kw=error_att,\

        tick_label=['作物1','作物2','作物3','作物4','作物5'])

plt.xlabel('名称')

plt.ylabel('产量(吨)')



plt.title('不同作物的产量')



plt.grid(True,axis='y')



plt.show()

python数据可视化入门(六):棉棒图,箱线图,误差棒图_第5张图片

 

你可能感兴趣的:(自学笔记)