python绘制好几个子图_python绘图笔记:添加数据表格和绘制多个图表子区

1.在图表中添加数据表格(该表数据随机生成,所以在运行代码时会出现不同的图表)

import matplotlib.pylab as pltimport numpy as np#生成图纸plt.figure()#获得当前的Axes对象axax=plt.gca()#生成随机点y=np.random.randn(9)#设置表格中列名,行名,表格中的具体数据以及行名表格的背景色col_labels=['col1','col2','col3']row_labels=['row1','row2','row3']table_vals=[[11,12,13],[21,22,23],[28,29,30]]row_colors=['red','gold','green']#对图表中的示例表格的相关参数进行具体设置my_table=plt.table(cellText=table_vals, colWidths=[0.1]*3, rowLabels=row_labels, colLabels=col_labels, rowColours=row_colors, loc='upper right')plt.plot(y)plt.show()

1c950a7b02087bf40b4f6cf3b136862810dfcf76.png?token=2e5f6f184e6d3a5744acb05f9f5764a0&s=58AA1C72711A41C81E4530CB030070B2figure1

2.绘制背景色为deeppink的图表

import matplotlib.pyplot as plt#生成图纸fig=plt.figure()#绘制一个子区的子图axes=fig.add_subplot(111)#图表背景色设置为deeppinkrectangle=axes.patchrectangle.set_facecolor('deeppink')#绘图plt.show()

0dd7912397dda144d477863df15201a60df48629.jpeg?token=3eb8e79bbe48c8ac21ab523fb2937f90&s=DD863D776FEA37285CA3AFAF0200E026figure2

3.预先创建一个补片(patches)

import matplotlib.pyplot as pltimport matplotlib#生产图纸fig=plt.figure()#先创建一个补片(patches),设置好相关参数rect=matplotlib.patches.Rectangle((1,1),width=6,height=12)#将补片添加到背景中axes=fig.add_subplot(111)axes.add_patch(rect)#用于图片刷新axes.figure.canvas.draw()#绘图plt.show()

241f95cad1c8a7860a929c4524ec183971cf502f.jpeg?token=bd45e8d0920ca8d8a9ed86494fb3ee93&s=59803C724B6347241CD5D1DA0000C0B1figure3

4.绘制包含多个不同子区的图表

import matplotlib.pyplot as plt#运用函数subplot2grid式,初始位置定义为0plt.figure(0)#绘制五个子图,通过使用subplot2grid()函数的rowspan 和colspan 参数可以让子区跨越固定的网格布局的多个行和列,实现不同的子区布局#(0,0)表示axes1的起始位置是第一行第一列,colspan=3表示跨越三列axes1=plt.subplot2grid((3,3),(0,0),colspan=3)#axes2的起始位置是第二行第一列,跨越两列axes2=plt.subplot2grid((3,3),(1,0),colspan=2)#axes3的起始位置是第二行第三列axes3=plt.subplot2grid((3,3),(1,2))#axes4的起始位置是第三行第一列axes4=plt.subplot2grid((3,3),(2,0))#axes5的起始位置是第三行第二列,跨越两列axes5=plt.subplot2grid((3,3),(2,1),colspan=2)#通过plt.gcf()即可得到当前Figure的引用all_axes=plt.gcf().axesfor ax in all_axes: for ticklabel in ax.get_xticklabels()+ax.get_yticklabels(): #刻度标签的字体大小 ticklabel.set_fontsize(10)#plt.suptitle指绘制总标题plt.suptitle("Demo of subplot2grid")plt.show()

0ff41bd5ad6eddc4b84b58457d3e67f9506633ce.jpeg?token=96fc18609598d4fe8ab5c5e6b5ab0640&s=5AA83C62110F45491EF431CA0000C0B1figure4

5.饼状图

#导入绘图所需的包import matplotlib.pyplot as pltimport numpy as np#正常显示汉字plt.rcParams["font.sans-serif"]=["SimHei"]#设置饼状图中的四个标签labels=["上市","民营","国企","合资"]#设置"上市","民营","国企","合资"对应的数值sizes=[10,48,24,18]#表示是否突出显示某一或某些部分,这里没有突出显示explode=(0,0,0,0)color=["yellowgreen","gold","lightskyblue","lightcoral"]#autopct用来设置绘制在饼状图中标签的格式,无阴影,90度为绘图的起始位plt.pie(sizes,colors=color,explode=explode,labels=labels, autopct="%1.1f%%",shadow=False,startangle=90)plt.title("企业性质")plt.show()

838ba61ea8d3fd1fceb7873873abf41b94ca5f5b.jpeg?token=58a258a064e82ecccf5849db0ac304d1&s=7B843C621BD052454566AB6D02006067figure5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值