【发布时间】:2014-08-01 12:41:57
【问题描述】:
我试图绘制带有误差线的系列。该系列可能包含 None 值。不使用错误时 - 该系列的绘制没有错误。尝试使用误差线进行绘图时 - 我收到此错误:
我的代码是:
x = [10.4, 11.12,11.3,None, 10.2,11.3]
y = [0.3, 1.2, 0.7, None, 1.1, 0.4]
y_err = [0.01, 0.04, 0.07, None, 0.01, 0.05]
plt.plot(x,y, 'o', color='r') # this one works. I get a plot with 5 points. The null point is skipped
plt.errorbar(x,y,yerr=y_err) # this one doesn't work
我得到的错误是:
TypeError: unsupported operand type(s) for -: 'NoneType' and 'NoneType'
有没有办法跳过系列中的空值?
谢谢!
【问题讨论】:
-
x、y 和 y_err 的索引是否相同?
-
系列一般有多大?如果您可以在绘制之前简单地过滤掉所有
None值,则可以轻松完成。问题是:你有时间和记忆力吗? -
@Sleepyhead - The Nones 出现在同一个索引中。
-
@Alexander - 预过滤可能很耗时,我希望避免这种情况......
标签: python matplotlib