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

1 次坐标轴简述

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

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

2.1 源码

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 10, 0.1)
y1 = 0.05 * x**2
y2 = -1 * y1
fig, 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-') # blue
ax2.set_ylabel('Y2 data', color='b')
plt.show()

2.2 效果图

matplotlib模块数据可视化-设置次坐标轴_第1张图片

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

3.1 源码

import numpy as np
import matplotlib.pyplot as plt
x = 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 效果图

matplotlib模块数据可视化-设置次坐标轴_第2张图片

你可能感兴趣的:(matplotlib模块数据可视化-设置次坐标轴)