【Python】使用matplotlib绘制折线图(单图和多图)

1.单图的绘制

数据为:

 

代码如下:

import pandas as pd
import matplotlib.pyplot as plt
catering = r'C:\Users\xxx\Desktop\data\经费.xls'
df = pd.read_excel(catering)

#中文字体
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

yearlist=[]
neibulist=[]
for ax in range(0,10):
    yearlist.append(int(df['年份'][ax+0:ax+1]))
    neibulist.append(float(df['所有企业经费内部支出(万元)'][ax+0:ax+1]))

plt.figure(figsize=(8,4))#画布大小

#x轴刻度(全部显示)
year=[2009,2010,2011,2012,2013,2014,
2015,2016,2017,2018,2019,2020]
plt.xticks(year,year,size=12)#第1个参数代表位置,第2个代表名称
plt.ylim(200000,600000)  #y轴坐标系
plt.plot(yearlist,neibulist,marker='o')
plt.title("xx省2010-2019年xx经费内部支出",size=16)#标题
plt.xlabel('年份(年)',size=12)#x轴标签及其大小
plt.ylabel('经费(万元)',size=12)#y轴标签及其大小

#设置图片的右边框和上边框为不显示
plt.gca().spines['right'].set_color('none')
plt.gca().spines['top'].set_color('none')

plt.show()

结果:

 

 2.多图的绘制

数据:

 

代码:

import pandas as pd
import matplotlib.pyplot as plt
catering = r'C:\Users\xxx\Desktop\data\经费.xls'
df = pd.read_excel(catering)

plt.rcParams['font.sans-serif'] = 'SimHei'#中文字体
plt.rcParams['axes.unicode_minus'] = False

fig,axj=plt.subplots(1,2,figsize=(12,6),dpi=120)
#一行二列,长12宽6,分辨率120
axes = axj.flatten()

yearlist=[]
neibulist=[]
waibulist=[]

for ax in range(0,10):
    yearlist.append(int(df['年份'][ax+0:ax+1]))
    neibulist.append(float(df['所有企业经费内部支出(万元)'][ax+0:ax+1]))
    waibulist.append(float(df['所有企业经费外部支出(万元)'][ax+0:ax+1]))
#第一个子图
axes[0].set_ylim(0,600000)  #y轴坐标系
axes[0].plot(yearlist,neibulist,marker='o',label = '内部支出')
axes[0].set_title("经费内部支出")
axes[0].set_xlabel('年份(年)',size=12)#x轴标签及其大小
axes[0].set_ylabel('经费(万元)',size=12)#y轴标签及其大小
#第二个子图
axes[1].set_ylim(0,30000)  #y轴坐标系
axes[1].plot(yearlist,waibulist,marker='s',label = '外部支出')
axes[1].set_title("经费外部支出")
axes[1].set_xlabel('年份(年)',size=12)#x轴标签及其大小
axes[1].set_ylabel('经费(万元)',size=12)#y轴标签及其大小
#不显示边框
axes[0].spines['right'].set_color('none')
axes[0].spines['top'].set_color('none')
axes[1].spines['right'].set_color('none')
axes[1].spines['top'].set_color('none')
#总标题
plt.suptitle('xxxR&D经费支出情况',size=16)
plt.show()

结果:

 

posted @ 2021-06-23 20:18  山鬼谣`  阅读(1058)  评论(0)    收藏  举报