子图散点图例的解决方案

Posted

技术标签:

【中文标题】子图散点图例的解决方案【英文标题】:Solution for scatter legend of subplots 【发布时间】:2020-05-27 21:38:57 【问题描述】:

我有一个我无法处理的问题。我尝试了几件事,但它不起作用。或者至少我愚蠢地得到解决方案idk。

T 使用 for 循环创建子图,并且每次都使用子数组中的数据创建它。对于每个散点,我创建不同的颜色(每个子图大约 13 个散点)。

现在我想为每个子图创建一个图例,以显示哪种颜色与哪个点相关。

fig, axs = plt.subplots(3, 3, figsize=(15, 15), facecolor='w', edgecolor='k')
fig.subplots_adjust(hspace = .35, wspace= .3)

C = np.array([[255, 0, 0], [0, 255, 0], [0, 0, 255], [0, 255, 255], [255, 255, 0], [0, 128, 0], [139, 0, 139], [255, 140, 0], [216, 112, 147], [238, 130, 238], [119, 136, 128], [0, 0, 0], [139, 69, 19]])
axs = axs.ravel()

for i in range(9):



    SingleWeldLayer = np.where(WeldArray1[:,0] == PlotLayerStart + i)
    Last = np.amax(SingleWeldLayer)
    First = np.amin(SingleWeldLayer)

    DynArray = WeldArray1[First:Last+1]

#    print(DynArray)

    axs[i].scatter(DynArray[:,3], DynArray[:,2], c = C/255)

    axs[i].set_title('Layer: '+ str(PlotLayerStart + i))
    axs[i].set_xlabel('MF_LargeCoil_TargetPosition', fontsize=8)
    axs[i].set_ylabel('HF_SmallCoil_TargetPosition', fontsize=8)


plt.show()

有人可以帮我为每个子图创建一个图例吗?

Current scatter plots

【问题讨论】:

***.com/questions/27016904/… 这能回答你的问题吗? Matplotlib legends in subplot 【参考方案1】:

在你的循环中,添加axs[i].legend(loc="upper right")

【讨论】:

我已经试过了。但它每次都会回复“找不到带有标签的句柄放在图例中。”

以上是关于子图散点图例的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

可视化实验十:利用Python绘制棒图散点图

在子图位置上绘制图例

r 散点图散点图R.

见图。python matplotlib 子图图例不显示完全。怎么解决?

在子图 Matplotlib 中按列表添加图例

如何在 MATLAB 2014b 的散点图中增加图例的标记大小? [复制]