嗨我有一个带X的列表和带Y的列表。我想用matplotlib.plt.plot(x,y)绘制它们
我有一些y的值为0或'空'我怎么能使matplot不连接0或空点?并显示其余的?我是否必须将其拆分为不同的列表?
提前致谢!
答案 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)
答案 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)