我创建了一个4D散点图来表示特定区域的不同温度.创建图例时,图例会显示正确的符号和颜色,但会在其中添加一条线.我正在使用的代码是:
colors=['b', 'c', 'y', 'm', 'r']
lo = plt.Line2D(range(10), range(10), marker='x', color=colors[0])
ll = plt.Line2D(range(10), range(10), marker='o', color=colors[0])
l = plt.Line2D(range(10), range(10), marker='o',color=colors[1])
a = plt.Line2D(range(10), range(10), marker='o',color=colors[2])
h = plt.Line2D(range(10), range(10), marker='o',color=colors[3])
hh = plt.Line2D(range(10), range(10), marker='o',color=colors[4])
ho = plt.Line2D(range(10), range(10), marker='x', color=colors[4])
plt.legend((lo,ll,l,a, h, hh, ho),('Low Outlier', 'LoLo','Lo', 'Average', 'Hi', 'HiHi', 'High Outlier'),numpoints=1, loc='lower left', ncol=3, fontsize=8)
Run Code Online (Sandbox Code Playgroud)
我试过换Line2D到Scatter和scatter.Scatter返回错误并scatter更改了图表并返回了错误.
有了scatter,我改为range(10)包含数据点的列表.每个列表包含x,y或z变量.
lo = plt.scatter(xLOutlier, yLOutlier, zLOutlier, …Run Code Online (Sandbox Code Playgroud) 我想创建一个Matplotlib散点图,其中一个图例显示每个类的颜色.例如,我有一个x和y值列表,以及一个classes值列表.在每个元素x,y并classes列出了对应于一个情节点.我希望每个类都有自己的颜色,我已编码,但后来我希望类在图例中显示.我将哪些参数传递给legend()函数来实现这一目标?
到目前为止,这是我的代码:
x = [1, 3, 4, 6, 7, 9]
y = [0, 0, 5, 8, 8, 8]
classes = ['A', 'A', 'B', 'C', 'C', 'C']
colours = ['r', 'r', 'b', 'g', 'g', 'g']
plt.scatter(x, y, c=colours)
Run Code Online (Sandbox Code Playgroud)