1、双坐标图
# -*- coding: UTF-8 -*-
import matplotlib.pyplot as plt
year = [2001,2002,2003,2004,2005]
num = [1000,800,1200,3400,1200]
s = []
for i in range(5):
if i ==0:
s.append(1.0)
continue
t =round((num[i]-num[i-1])/num[i-1],2)
s.append(t)
print(year,num,s)
#设置图形大小
fig = plt.figure(figsize=(8,6))
#左侧柱状图
p1 = fig.add_subplot(1,1,1) #行,列,第几个
p1.bar(year,num,label='left map')
p1.legend(loc='upper left')
p1.set_xlabel('year')
p1.set_ylabel('num')
#右侧折线图
p2 = p1.twinx()
p2.plot(year,s,color='red',label='right map')
p2.legend(loc='upper right')
p2.set_ylabel('rate')
p2.set_ylim(-1,2)
#标题
plt.title("double map")
#显示图像
plt.show()
2、上下两幅图
# -*- coding: UTF-8 -*-
import matplotlib.pyplotas plt
year = [2001,2002,2003,2004,2005]
num = [1000,800,1200,3400,1200]
s = []
for iin range(5):
if i ==0:
s.append(1.0)
continue
t =round((num[i]-num[i-1])/num[i-1],2)
s.append(t)
print(year,num,s)
#设置图形大小
fig = plt.figure(figsize=(8,6))
#左侧柱状图
p1 = fig.add_subplot(2,1,1)
p1.bar(year,num,label='left map')
p1.legend(loc='upper left')
p1.set_xlabel('year')
p1.set_ylabel('num')
p1.set_title("first map")
#右侧折线图
p2 = fig.add_subplot(2,1,2)
p2.plot(year,s,color='red',label='right map')
p2.legend(loc='upper right')
p2.set_ylabel('rate')
p2.set_ylim(-1,2)
p2.set_title("second map")
#自动设置间距
plt.tight_layout()
#显示图像
plt.show()
3、左右两幅图
# -*- coding: UTF-8 -*-
import matplotlib.pyplotas plt
year = [2001,2002,2003,2004,2005]
num = [1000,800,1200,3400,1200]
s = []
for iin range(5):
if i ==0:
s.append(1.0)
continue
t =round((num[i]-num[i-1])/num[i-1],2)
s.append(t)
print(year,num,s)
#设置图形大小
fig = plt.figure(figsize=(8,6))
#左侧柱状图
p1 = fig.add_subplot(1,2,1)
p1.bar(year,num,label='left map')
p1.legend(loc='upper left')
p1.set_xlabel('year')
p1.set_ylabel('num')
p1.set_title("first map")
#右侧折线图
p2 = fig.add_subplot(1,2,2)
p2.plot(year,s,color='red',label='right map')
p2.legend(loc='upper right')
p2.set_ylabel('rate')
p2.set_ylim(-1,2)
p2.set_title("second map")
#自动设置间距
plt.tight_layout()
#显示图像
plt.show()