设置第二个x轴零位置

时间:2014-09-10 10:01:00

标签: python matplotlib

我的图表顶部有第二个x轴图。如何将第二轴的零位置移动到特定值?我希望第二个x轴的0位置与我的主x轴的值2.13相对应。对于我使用的第二个x轴

fig = plt.figure()
ax1 = fig.add_subplot(111)
ax2 = ax1.twiny()

我从名为epsilon的列表中读取第二个x轴的值。

def tick_function(X):
    return ["%.4f" % z for z in X]

ax2.set_xticklabels(tick_function(epsilon))

1 个答案:

答案 0 :(得分:0)

你必须设置第二个x轴的界限:

enter image description here

代码:

#!/usr/bin/python3

import matplotlib.pyplot as plt

fig = plt.figure()
ax1 = fig.add_subplot(111)

x1 = [2.13, 2.135, 2.139, 2.14, 2.143]
y1 = range(len(x1))

x2 = [0, 100, 200, 350, 450]

ax1 = fig.add_subplot(111)
ax1.plot(x1, y1)
ax1.grid(True)

ax2 = ax1.twiny()

ax2.set_xticks(x1)
ax2.set_xbound(ax1.get_xbound())
ax2.set_xticklabels(x2)

fig.savefig("15.png")