绘制在matplotlib中共享x轴的两个图形

时间:2009-09-10 10:27:50

标签: python matplotlib

我必须在一个屏幕上绘制2个图表。 x轴保持不变,但y轴应该不同。

我怎么能在'matplotlib'中做到这一点?

2 个答案:

答案 0 :(得分:19)

twinx是您正在寻找的功能; here's an example如何使用它。

twinx example

答案 1 :(得分:7)

subplot可让您在同一画布上绘制多个图形。请参阅链接文档页面上的示例。

示例目录中有一个共享轴图的示例,名为shared_axis_demo.py

from pylab import *

t = arange(0.01, 5.0, 0.01)
s1 = sin(2*pi*t)
s2 = exp(-t)
s3 = sin(4*pi*t)
ax1 = subplot(311)
plot(t,s1)
setp( ax1.get_xticklabels(), fontsize=6)

## share x only
ax2 = subplot(312, sharex=ax1)
plot(t, s2)
# make these tick labels invisible
setp( ax2.get_xticklabels(), visible=False)

# share x and y
ax3 = subplot(313,  sharex=ax1, sharey=ax1)
plot(t, s3)
xlim(0.01,5.0)
show()