【发布时间】:2013-09-26 08:03:33
【问题描述】:
考虑下面的代码
import matplotlib.pyplot as plt
import numpy as np
time=np.arange(-100,100,01)
val =np.sin(time/10.)
time=-1.0*time
plt.figure()
plt.plot(time,val)
plt.xlim([70,-70])
plt.savefig('test.pdf')
当我在 inkscape 中打开 pdf 时,我可以选择(使用 F2)整个数据,它在指定的 xlim 间隔之外是不可见的:
问题似乎是行
time=-1.0*time
如果我省略这一行,一切都会完美运行。不知道为什么会这样。我经常需要这样的转换,因为我处理有时在公元前一年给出的古气候数据。和公元年,分别。
我看到的这种行为的问题是,原则上有人可以获取超出我想要显示的范围的数据。
有人知道如何解决这个问题(绘图前的数组切片除外)?
我使用 matplotlib 1.1.1rc2
【问题讨论】:
-
在绘图之前对数组进行切片是可行的方法。你为什么不想要那个?
-
因为它需要额外的代码,因此我更喜欢使用 xlim
-
顺便说一句,任何光栅化格式(比如
.png)都不应该显示这种行为。 -
光栅化并不是一个真正的选择,我喜欢矢量图形的优点
标签: python matplotlib