如何在matplotlib散点中隐藏一些点?

时间:2017-10-26 07:20:20

标签: python matplotlib

import matplotlib.pyplot as plt
import numpy as np
y = np.random.rand(100)
plt.scatter(list(range(100)), y)

上面的推荐将使用matplotlib绘制一个散点图。

假设我想要隐藏值小于0.5的点。与此同时,我应保持x轴不变。我该怎么办?

2 个答案:

答案 0 :(得分:5)

您可以创建一个仅选择满足y > 0.5的点的掩码:

x = np.arange(100)
y = np.random.rand(100)
mask = y > 0.5
plt.scatter(x[mask], y[mask])

答案 1 :(得分:0)

对于类似这样的内容,我会使用for循环并创建一个新变量y1,并使用NaN替换y中小于0.5的所有值,然后使用graph { {1}}。所以从这个(改变了numpy函数给你一些负数)

y1

到此:

    import matplotlib.pyplot as plt
    import numpy as np
    y = np.random.randint(low=-100,high=100, size=100)
    plt.scatter(list(range(0,len(y))), y)
    plt.show()

您可以通过绘制

来查看结果
    import matplotlib.pyplot as plt
    import numpy as np
    y = np.random.randint(low=-100,high=100, size=100)
    y1 = []
    for i in y:
        if i < 0.5:
            i = 'NaN'
        y1.append(i)

    plt.scatter(list(range(0,len(y1))), y1)
    plt.show()

这可能不是最佳答案,但它可以胜任。