matplotlib列表没有显示0或Nan的

时间:2013-10-21 19:48:33

标签: python matplotlib

嗨我有一个带X的列表和带Y的列表。我想用matplotlib.plt.plot(x,y)绘制它们

我有一些y的值为0或'空'我怎么能使matplot不连接0或空点?并显示其余的?我是否必须将其拆分为不同的列表?

提前致谢!

2 个答案:

答案 0 :(得分:4)

如果使用numpy.nan而不是0或为空,则该行将断开连接。

请参阅:

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0,10,20)
y = np.sin(x)
y[3] = np.nan
y[7] = np.nan
plt.plot(x,y)

enter image description here

答案 1 :(得分:3)

使用np.where将数据设置为不np.nan

from numpy import *
a=linspace(1, 50, 1000)
b=sin(a)
c=where(b>-0.7, b, nan) #In this example, we plot only the values larger than -0.7
#if you want to skip the 0, c=where(b!=0, b, nan)
plt.plot(c)

enter image description here