考虑以下测试用例:
import numpy as np
import matplotlib.pyplot as plt
x1 = np.arange(10)
x2 = np.hstack((np.linspace(0.12312, 3.94, 5), np.linspace(-10.0121, -9.333411, 5)))
y = 2.0 * x1
fig = plt.figure(1)
ax = fig.gca()
ax.plot(x1, y)
fig = plt.figure(2)
ax = fig.gca()
ax.plot(x2, y)
fig = plt.figure(3)
ax = fig.gca()
ax.plot(x1, y)
ax.set_xticklabels(x2[ax.get_xticks().astype(int)])
plt.show()
我想用figure(2)
原始排序来x2
。但是当我将它与pyplot.plot
一起使用时,它会自动排序并且会弄乱我的轴。
我可以手动设置figure(3)
中的刻度标签,但我没有自动轴缩放,格式化等等。
我可能会用格式化程序,定位器等自己破解一些东西,但首先我想问:是否有正确的方法来实现我喜欢的东西?
答案 0 :(得分:0)
我认为这种情节不可能。你可以用某种方式来管理它,就像你用图(3)所做的那样,但它完全违背了直觉或良好的实践。通常,如果您正在查看2D绘图,则假设每个轴都是连续刻度(升序或降序)。它甚至可以是对数或其他比例。