我已经创建了一个散点图,其中某个列ABC的值从0到10不等。
点有四种颜色:小于2的值为浅蓝色,2-4为蓝色,4-6为橙子,6及以上为棕色。
我已经成功地生成了散点图,但是我发现很难提到图上的图例。
我想要一个图例的标题,图例应该在1行中,而不是在多行中,我还想添加标签到图例中。
变量colour_names
有我想添加到图例中的标签。
下面是创建散点图的代码。
x = np.array(df['Date'])
y = np.array(df['PR'])
colours = np.array(df['colour'])
colormap = np.array(['cyan', 'dodgerblue', 'orangered','brown'])
colour_names = ['very less', 'less', 'good', 'more']
scatter = plt.scatter(x,y, c = colormap[colours], s = 5)`
我尝试了以下方法来添加图例,但它既没有给出错误,也没有输出。散点图打印正确,但没有图例
`plt.legend(handles=scatter.legend_elements()[0],
labels=colour_names,
title="ABC")`
我也试过
handles = scatter.legend_elements()[0]
ax.legend(title='ABC', handles=handles, labels=colour_names)
偶尔在我的试错中,我会收到以下消息:-
UserWarning: Collection without array used. Make sure to specify the values to be colormapped via the c argument.
和/或
WARNING:matplotlib.legend:No artists with labels found to put in legend. Note that artists whose label start with an underscore are ignored when legend() is called with no argument.
2条答案
按热度按时间e4yzc0pl1#
您可以根据您的条件对数据进行切片并绘制单独的散点图。假设你的值和颜色是固定的,这将工作。希望这就是你要找的...
nfg76nw02#
没有Pandas