任何人都可以提供任何信息,为什么当x值很大时这个轮廓图会变形?至少在我看来,这个数字应该保持完全相同,但也许我误解了一些东西。
使用shift = 0(或最多shift = 100000)时的数字:
使用shift = 1000000时的数字:
代码:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.mlab as ml
shift = 0 # works
# shift = 1000000 # distorts the graph because of ?
x = np.array([7, 3, 3, 2, 6, 7, 2, 7, 2, 7]) + shift
y = np.array([1, 8, 1, 5, 6, 5, 8, 4, 1, 8])
z = np.array([0.5485118, 0.53838622, 0.93582844, 0.13831005, 0.45559201,
0.4032324, 0.73419538, 0.03208198, 0.55323105, 0.95654892])
xi = np.linspace(min(x), max(x), 200)
yi = np.linspace(min(y), max(y), 200)
zi = ml.griddata(x, y, z, xi, yi, interp='linear')
plt.contour(xi, yi, zi, 15, linewidths=0.5, colors='k')
plt.pcolormesh(xi, yi, zi, cmap=plt.get_cmap('rainbow'))
plt.colorbar()
plt.scatter(x, y, marker='o', c='b', s=5, zorder=10)
plt.show()
我正在使用matplotlib == 1.4.3,numpy == 1.9.2,python == 2.7.11
如果您想知道,此代码只是问题的演示。当我尝试用时间线(以秒为单位)组成一个由Unix UTC时代组成的x轴时,我注意到了这种奇怪的行为,我现在正试图找出正确的方法来处理它。
谢谢!