我有一个循环遍历一个大数据集,将数据存储在各种列表中,并在最后绘制它们。但是,某些系列仅包含Null
值,并且不希望它们包含在图例中。有什么方法可以从传奇中排除系列吗?这是z
仅包含Null
s。
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(1, 5)
y = 1/x
z = [np.nan, np.nan, np.nan, np.nan]
plt.plot(x,y, label = 'x data')
plt.plot(x,z, label = 'z data')
plt.legend()
plt.show()
答案 0 :(得分:1)
如果数组中的任何值为NaN,则可以使用返回None的函数:
def label_not_nan(arr, label):
if np.isnan(arr).any():
return None
return label
plt.plot(x,y, label=label_not_nan(x, 'x data'))
plt.plot(x,z, label=label_not_nan(z, 'z data'))
图例中不显示任何标签。