0

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

我有一些 y 值为 0 或“空”的值,如何使 matplot 不连接 0 或空点?并显示其余的?我是否必须将其拆分为不同的列表?

提前致谢!

4

2 回答 2

5

如果您使用 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)

在此处输入图像描述

于 2013-10-21T19:55:12.053 回答
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)

在此处输入图像描述

于 2013-10-21T21:09:03.917 回答