2020-05-03 matplotlib.pyplot数据画图--双坐标

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()


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。