当使用字符串'nan'时,Matplotlib不打印任何内容

吉安·毛罗·穆索(Gian Mauro Musso)

我想创建一个不连续的图,当变量为“ nan”时不打印任何内容。不幸的是,由于该图的y轴报告字符串值,因此当出现“ nan”时,该图仅在y轴上创建了“ nan”对勾。

举个例子:

在此处输入图片说明

我希望蓝色图形在出现“ nan”时不显示任何内容,而不是将nan视为字符串。

提前致谢

更新:

作为最小的示例,假设我写了:

x = [0,1,2,3,4,5,6,7,8]
y = ['Stairs',np.nan, 'Sitting', np.nan, 'Stairs','Falling','Falling','Standing',np.nan]
plt.plot(x,y)

它给了我以下结果:

在此处输入图片说明

我希望Nan不显示在情节上。可能吗?

乔伊

您可以使用整数索引进行绘图,然后相应地标记刻度线:

import matplotlib.pyplot as plt
import numpy as np

x = [0,1,2,3,4,5,6,7,8]
y = ['Stairs',np.nan, 'Sitting', np.nan, 'Stairs','Falling','Falling','Standing',np.nan]
y_ticks = ['Stairs', 'Sitting', 'Falling', 'Standing']
y_int = [np.nan if elem is np.nan else y_ticks.index(elem) for elem in y]
plt.plot(x, y_int, '.-')
plt.yticks(range(len(y_ticks)), y_ticks)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章