基本图-折线图为例
以折线图为例,加上常见的一些图表的设置
import matplotlib.pyplot as plt
# 中文字体显示,只要是中文就在前面加u
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['FangSong']
mpl.rcParams['axes.unicode_minus'] = False
# 数据源
x = [u'1月',u'2月',u'3月',u'4月',u'5月',u'6月',u'7月',u'8月',u'9月',u'10月',u'11月',u'12月']
y1 = [20,17,24,36,49,53,64,69,50,38,20,16]
y2 = [24,27,25,30,45,43,54,60,57,43,27,26]
# 创建画布,设置画布大小
plt.figure(figsize=(7,4))
plt.plot(x,y1,label=u'冰红茶') # 画图
plt.plot(x, y2, label=u'冰咖啡')
plt.title(u'2020年冷饮销量',fontsize=14) # 标题,字号设置
plt.xlabel(u'月份',loc='right') # 位置设置
plt.ylabel(u'销量(千杯)',rotation='horizontal',y=1,x=0) # 方向,位置设置
plt.legend(bbox_to_anchor=(0.2,0.8)) # 加上图例,设置位置
# 加数据注释
for y in [y1,y2]:
for i,v in enumerate(y):
plt.annotate(v, (i,v+0.7))
# 加文字注释
plt.plot(x,[75]*12,color='blue',linewidth=0.7,alpha=0.7)
plt.annotate(u'冰红茶历史最高',(10,75.7))
plt.plot(x,[64]*12,color='orange',linewidth=0.7,alpha=0.7)
plt.annotate(u'冰咖啡历史最高',(10,64.7))
plt.show() # 也可以不加,依然显示
子图
# 数据源
x = [u'1月',u'2月',u'3月',u'4月',u'5月',u'6月',u'7月',u'8月',u'9月',u'10月',u'11月',u'12月']
y1 = [20,17,24,36,49,53,64,69,50,38,20,16]
y2 = [24,27,25,30,45,43,54,60,57,43,27,26]
x2 = [u'山东',u'河南',u'浙江',u'湖北',u'安徽'