在python中创建条件绘图

在python中创建条件绘图,python,matplotlib,Python,Matplotlib,我只想画出小于或等于某个数字(比如15)的值。 我可以在数据框的一列中找到这些值,如果这些值不小于或等于15,我不想绘制它们 你能帮我找到解决办法吗?0。制作一个最小的示例 (这一步通常应由提问者采取;这也是你的问题经常被否决的原因之一) 现在您有几个选项: 1。限制视图 您可以简单地限制绘图的视图,使其y比例仅上升到15。这是通过 plt.ylim(-30,15) 2。过滤数据帧 您可以按条件筛选数据帧。这意味着在结果数据帧中,只有条件为meat的行存在 df2 = df[df.y <

我只想画出小于或等于某个数字(比如15)的值。 我可以在数据框的一列中找到这些值,如果这些值不小于或等于15,我不想绘制它们


你能帮我找到解决办法吗?

0。制作一个最小的示例
(这一步通常应由提问者采取;这也是你的问题经常被否决的原因之一)

现在您有几个选项:

1。限制视图

您可以简单地限制绘图的视图,使其y比例仅上升到15。这是通过

plt.ylim(-30,15)

2。过滤数据帧

您可以按条件筛选数据帧。这意味着在结果数据帧中,只有条件为meat的行存在

df2 = df[df.y <= 15]

plt.plot(df.x,df.y, label="original")
plt.plot(df2.x,df2.y, label="filtered to y <= 15")

附录:使用两种不同的条件 通过将它们与逻辑运算符(如
&
(“and”)或
(“or”)组合,可以使用多种条件。 因此,将高于15或低于-15的所有值设置为nan

df2[(df2.y > 15) | (df2.y < -15)] = np.nan
df2[(df2.y>15)|(df2.y<-15)]=np.nan

到目前为止,您尝试了什么?如果你能找到这些值,你可以把它们列成一个列表,然后画出这个列表。在这种情况下,您还可以更改“隐藏”您不想要的值。虽然质量很差(@Leonardo请阅读),但我认为这个问题已经足够清楚,可以回答。我想感谢您,您的回答,对我帮助很大。我还有一个问题要问。我用这个:x=a['Roll']x2=x[x我更新了答案。如果我使用的是你教给我的第三种方法,它会起作用,但我使用的是第二种方法。我尝试将其应用于第二种方法,但没有起作用。想象一列数据,我想将绘制此列的所有数据与仅绘制此条件下的数据的条件图进行比较>>-15=15同一图形中的列。组合条件对两种方法都有效!
df2 = df.copy()
df2[df2.y > 15] = np.nan

plt.plot(df2.x,df2.y, label="y > 15 set to nan")
df2[(df2.y > 15) | (df2.y < -15)] = np.nan