matplotlib模块数据可视化-设置次坐标轴

来源:互联网 发布:java比较日期相差天数 编辑:程序博客网 时间:2024/05/29 16:24

1 次坐标轴简述

次坐标轴就是在一个画布上绘制两个图形时,两个图形的共用一个坐标轴,另外一个坐标轴不同,但是又想让两个图在一个画布上显示,设置次坐标轴,另一个轴分开显示,刻度不同。

2 共用x轴,设计y的次坐标轴

2.1 源码

import numpy as npimport matplotlib.pyplot as pltx = np.arange(0, 10, 0.1)y1 = 0.05 * x**2y2 = -1 * y1fig, ax1 = plt.subplots()# 设置ax2的坐标轴与ax1共用x轴ax2 = ax1.twinx()# 绘制第一条线ax1.plot(x, y1, 'g-')#共用x轴,所以设置x轴label只能通过ax1,ax2.set_xlabel('two data')无效ax1.set_xlabel('X data')ax1.set_ylabel('Y1 data', color='g')# 绘制第二条线ax2.plot(x, y2, 'b-') # blueax2.set_ylabel('Y2 data', color='b')plt.show()

2.2 效果图


3 共用y轴,设计x的次坐标轴

3.1 源码

import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0,10,100,endpoint=True)x1 = np.linspace(-10,0,100,endpoint=True)y = x# 求绝对值y1 = np.fabs(x1)fig,ax1 = plt.subplots()ax2 = ax1.twiny()# 绘制第一条线ax1.plot(x,y,'r')ax1.set_xlabel('first data',color='r')#共用y轴,所以设置y轴label只能通过ax1,ax2.set_ylabel('two data')无效ax1.set_ylabel('same data')# 绘制第二条线ax2.plot(x1,y1,'b')ax2.set_xlabel('second data',color='b')# plt.plot(x,y,'r')# plt.plot(x1,y1,'b')plt.show()

3.2 效果图