Python数据可视化之使用matplotlib绘制简单图表
作者:crape Myrtle♡
这篇文章主要为大家详细介绍了使用matplotlib绘制简单图表的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
一、绘制折线图
使用plot()绘制折线图
常用的参数:
x
:表示x轴的数据y
:表示y轴的数据fmt
:表示快速设置条样式的格式字符串。label
:表示应用于图例的标签文本。plot()
会返回一个包含Line2D类对象(代表线条)的列表。
plot()函数的语法格式:
plot(x,y ,fmt , scalex=True , scaley=true , data=None, label=None 等.....)
实例:
(1)
(2)
二、绘制柱形图或堆积图形
使用bar()绘制柱形图或堆积柱形图
bar()的语法格式有: bar(x, height , width=0.8, bottom=None, align='center', data=None, tick_label=None, xerr=None, yerr=None, error_kw=None)
常用参数的含义:
x
:表示柱形的x坐标值height
:表示柱形的高度width
:表示柱形的宽度,默认为0.8bottom
:表示柱形底座的y坐标值,默认为0align
:表示柱形的对齐方式,有’center’和’edge’两个值,其中’center’表示将柱形刻度居中对齐;‘edge’表示将柱形的左边与刻度线对齐。tick_label
:表示柱形对应的刻度标签xerr,yerr
:若未设为None,则需要为柱形图添加水平/ 垂直误差棒error_kw
:表示误差棒的属性字典,字典的键对应errorbar()函数- bar()函数会返回一个BarContainer类的对象。
import numpy as np import matplotlib.pyplot as plt x=np.arange(5) y1=np.array([10,8,7,11,13]) bar_width=0.4 plt.bar(x,y1,tick_label=['a','b','c','d','e'],width=bar_width) plt.title("2020080603039") plt.show()
(2)具有多组柱形的柱形图
(3)通过给bottom参数传值的方式的方式控制柱形的y值
三、绘制条形图或堆积条形图
使用barh()绘制条形图或堆积条形图
使用barh()函数的语法格式: barh(y, width, heigth=0.8, left=None, align='center', *)
常用的参数的含义如下:
y
:表示条形的y坐标width
:表示柱形的宽度,默认为0.8height
:表示柱形的高度left
:条形左侧的x坐标,默认为0align
:表示柱形的对齐方式,有’center’和’edge’两个值,其中’center’表示将柱形刻度居中对齐;‘edge’表示将柱形的左边与刻度线对齐。barh()
函数会返回一个BarContainer类的对象。
(2)绘制具有多组条形的条形图
(3)绘制堆积条形图
四、绘制堆积面积图
使用stackplot()绘制堆积面积图
stackplot()函数的语法格式: stackplot(x, y , labels=(), baseline='zero', data=None, *)
x
:表示x轴的数据,可以是一维数组y
:表示y轴的数据,可以是二维数组或一维数组序列labels
:表示每组折现及填充区域的标签baseline
:表示计算基线的方法,包括‘zero’,‘sym’,‘wiggle’,‘weighted_wiggle’
代码及图如下:
五、绘制直方图
使用hist()绘制
和hist()函数的语法格式如下:
hist(x, bins=None, range=None, density=None, weights=None, cumulative=False, bottom=None,histtype='bar',align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False)
常用的参数如下:
x
:表示x轴的数据。bins
:指定直方图条形的个数,默认值为10。range
:表示数据的范围,指定数据的上下界,默认包含绘图数据的最大值和最小值。normed
:是否将直方图的频数转换成频率。weights
:该参数可为每一个数据点设置权重。cumulative
:是否需要计算累计频数或频率。bottom
:可以为直方图的每个条形添加基准线,默认为0。histtype
:指定直方图的类型,默认为bar,除此之外,还有barstacked、step和stepfilledalign
:设置条形边界值的对齐方式,默认为mid,另外还有left和rightorientation
:设置直方图的摆放方向,默认为垂直方向rwidth
:设置直方图条形的宽度log
:是否需要对绘图数据进行log变换color
:设置直方图的填充色edgecolor:设置直方图边框色label
:设置直方图的标签,可通过legend展示其图例
(1)绘制一个具有8个矩形条填充的线条直方图
(2)改变bins的值则能改变矩形条的条数,如下图中设置的66,设置的数越大条数越多
六、绘制饼图或者圆环图
使用pie()绘制饼图或者圆环图
语法格式如下: pie(x,explode=None,labels=None,autopct=None,pctdistance=0.6,shadow=False, labeldistance=1.1, startangle=None,radius=None,counterclock=True,wedgeprops=None,textprops=None, center=(0,0),frame=False,rotatelabels=False,*,data=None)
常用的参数如下:
x
:表示扇形或锲形的数据explode
:表示扇形或锲形离开圆心的距离labels
:表示扇形或锲形对应的标签文本autopct
:表示控制扇形或锲形的数值显示的字符串,可通过格式字符串指定小数点后的位数.pctdistance
:表示扇形或锲形对应的数值标签距离圆心的比例,默认为0.6shadow
:表示是否显示阴影labeldistance
:表示标签文本的绘制位置(相对于半径的比例),默认为1.1.radius
:表示扇形或锲形的半径.startangle
:表示起始绘制角度,默认从x轴的正方向逆时针绘制wedgeprops
:表示控制扇形或锲形属性的字典.例如:通过wedgeprops={’‘width’:0.7}将锲形的宽度设为0.7.textprops
:表示控制图表中文本属性的字典center
:表示图表中心点位置,默认为(0,0)frame
:表示是否显示图框
(1)绘制一个饼形图
(2)绘制一个环形图
(3)绘制一个向外移动的饼状图
七、绘制散点图或气泡图
使用scatter()绘制散点图或气泡图
scatter()函数语法格式: scatter(x, y, s=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None,verts=None, edgecolors=None,* , plotnonfinite=False,data=None )
八、绘制箱形图
使用boxplot()绘制箱形图
使用pyplot的boxplot()函数可以快速绘制箱形图,boxplot()函数的语法如下: boxplot(x, notch=None, sym=None, vert=None, whis=None,positions=None widths=None, patch_artist=None, bootstrap=None,usermedians=None,*,)
九、绘制雷达图
使用polar()绘制雷达图
十、绘制误差棒图
使用errorbar()绘制误差棒图
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!