Python如何在画布中绘制多个图表?

1、说明

在绘制图表时,Matplotlib模块默认先创建一块画布,然后将绘制的图表显示在画布上。

若要在一个画布上画多个图表,可以使用subplot()函数将画布分成若干区域,然后在每个区域上分别画不同的图表。

subplot()函数的参数为3个整数

第一个数字表示将整个画布分成若干行;

第二个数字表示将整个画布分成若干列;

第三个数字表示在第几个区域中绘制图表,区域编号规则是,按从左到右,从上到下的顺序,从1开始编号。

2、实例

importmatplotlib.pyplotasplt

#如果值中有中文字符,则必须在绘制图表前加上这两行代码
plt.rcParams['font.sans-serif']=['MicrosoftYaHei']
plt.rcParams['axes.unicode_minus']=False
x=['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']
y=[50,45,65,76,75,85,55,78,86,89,94,90]
plt.subplot(2,2,1)
plt.pie(y,labels=x,labeldistance=1.1,startangle=90,counterclock=False)
plt.subplot(2,2,2)

#参数width用于设置柱子的宽度,默认值为0.8。如果设置为1,则各个柱子会紧密相连;如果设置为大于1的数,则各个柱子会相互交叠
plt.bar(x,y,width=0.5,color='r')
plt.subplot(2,2,3)

#参数color用于设置柱子的填充颜色,具体取值见后面的说明
plt.stackplot(x,y,color='r')
plt.subplot(2,2,4)
plt.plot(x,y,color='r',linestyle='solid',linewidth=2,marker='o',markersize=10)
plt.show()

发表回复