2024-05-14 09:16:22 发布
网友
我有一个值列表(例如[1,39,-10,2,-5,41])。我喜欢用python matplotlib来绘制,所有的正点都是绿色的,负的点是红色的。我对stackoverflow的答案很失望,但大多数答案我都无法理解(因为我不是一个普通的python用户)。大多数答案都建议使用分散法。我不知道如何在scatter中使用c和cmap参数。有人能给我一个简单的方法来实现它,并提供一些基本的细节。在
请原谅我的问题。在
将点列表分为正负两个列表,并用不同的颜色绘制:
import matplotlib import numpy as np from matplotlib import pyplot as plt y = [1, 39, -10, 2, -5, 41, 4, -2, 6, 7, -15, -13, -20] neg_y = [] pos_y = [] for item in y: if item >= 0: pos_y.append(item) else: neg_y.append(item) plt.scatter(range(len(pos_y)), pos_y, color='g') plt.scatter(range(len(neg_y)), neg_y, color='r') plt.show()
您可以使用scatter方法的colour属性,例如,如果您希望有一个特定大小(20)的黑白点用线连接:
scatter
import numpy as np import matplotlib.pyplot as plt y = np.array([1 , 39, -10, 2, -5, 41]) x = np.array([1, 2, 3, 4, 5, 6]) b = y>0 plt.scatter(x, y, c=b, s=20) plt.gray() plt.plot(x, y) plt.show()
将点列表分为正负两个列表,并用不同的颜色绘制:
您可以使用
scatter
方法的colour属性,例如,如果您希望有一个特定大小(20)的黑白点用线连接:相关问题 更多 >
编程相关推荐