#python 画柱状图折线图
#-*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.ticker as mtick
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14)
a=[20880.6,23223.8,24555.7,27146.8,] #数据
b=[108.9,108.1,104,107.3]
l=[i for i in range(4)]
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
fmt='%.2f%%'
yticks = mtick.FormatStrFormatter(fmt) #设置百分比形式的坐标轴
lx=[u'2018',u'2019',u'2020',u'2021']
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.plot(l, b,'or-',label=u'同比增长指数');
ax1.yaxis.set_major_formatter(yticks)
for i,(_x,_y) in enumerate(zip(l,b)):
plt.text(_x,_y,b[i],color='black',fontsize=10,) #将数值显示在图形上
ax1.legend(loc=1)
ax1.set_ylim([100, 110]);
ax1.set_ylabel('同比增长指数');
plt.legend(prop={'family':'SimHei','size':8}) #设置中文
ax2 = ax1.twinx() # this is the important function
plt.bar(l,a,alpha=0.3,color='yellow',label=u'云南省地区生产总值(亿元)')
ax2.legend(loc=2)
ax2.set_ylim([20000, 30000]) #设置y轴取值范围
plt.legend(prop={'family':'SimHei','size':8},loc="upper left")
plt.xticks(l,lx)
plt.show()
画柱状图折线图看不懂啊,百度了好几天还是一知半解,最好解释的清楚一点,如果能写成下面那样的就最好了,我做的图是地区生产总值,研究疫情对经济的影响