Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 设置第二个x轴零位_Python_Matplotlib - Fatal编程技术网

Python 设置第二个x轴零位

Python 设置第二个x轴零位,python,matplotlib,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_f

我在图表顶部有一个第二个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))

您必须为第二个x轴设置边界:

守则:

#!/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")

是的,谢谢,但是在我的例子中,顶部x轴的范围与底部x轴的范围完全不同。底部是2.1-2.4,在顶部,我只想在0到450的特定位置显示5个值(在特定的非线性位置,比如2.13的值为0,2.135的值为100,2.139的值为200,2.14的值为350,2.143的值为450)。这有点复杂。@user3041107:现在更清楚了。你应该在你的原始帖子中给出完整的数据。好的,非常感谢,这就是我需要的。对不起,误会了。