在Python中,如何在不改变输入数据的情况下用数字减去x轴标签

问题描述

如何用最小 x 轴值减去我的图 (https://i.stack.imgur.com/v7h0v.png) 上标记的所有 x 轴值,以便它们显示为 0、2000、7000、9000 而不更改 Xa 中的任何值代码

这是我的代码

import matplotlib.pyplot as plt
Xa=[-4000,-2000,3000,5000]
Ya=[5,6,7,8]
plt.plot(Xa,Ya,'o')
plt.show()

解决方法

如果您更改 x 轴标签,您也可以更改绘图的 x 值。下面的代码绘制了所需的输出并且 Xa 没有改变:

Xa=[-4000,-2000,3000,5000]
Ya=[5,6,7,8]
plt.plot(np.array(Xa)-np.min(Xa),Ya,'o')
plt.show()

Output plot from the code above

如果您需要 Xa 中的调整值在您的 x 轴刻度中:

Xa=[-4000,'o')
plt.xticks(np.array(Xa)-np.min(Xa))
plt.show()

Output with x values in xticks

,
import matplotlib.pyplot as plt
Xa=[-4000,8]
plt.plot([i - min(Xa) for i in Xa],'o')
plt.show()

我不确定您在问什么,但这些代码必须有效。请随时详细说明您的问题。您是否想创建另一个数字系统,其中 Xa 值 Xa=[0,2000,5000,9000] 是 Xa=[-4000,5000] 在我们当前的数字系统中? enter image description here

您还可以使用 plt.xticks([i - min(Xa) for i in Xa]) 在您需要的确切位置匹配 x 轴刻度线。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...