python - 如何将所有图例条目放在一行上?

标签 python matplotlib legend

我似乎找不到解决办法。 我有一个自定义的图例(使用找到的解决方案 here ),我试图将多个条目放在一行上,而不是将每个新条目放在前一个条目下。 一个人如何做?

red_patch = mpatches.Patch(color='red', label='The red data')
blue_patch = mpatches.Patch(color='blue', label='The blue data')
plt.legend(handles=[red_patch, blue_patch])

我希望将“(红色标记)红色数据,(蓝色标记)蓝色数据等......”全部放在顶部的一行中。当条目数量超过绘图所能容纳的数量时,最好也开始一个新行。我想就像普通文本一样。

最佳答案

如果你想在图例中有n列,你可以使用

plt.legend(ncol=n)

关于python - 如何将所有图例条目放在一行上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43644758/

相关文章:

python - 根据数组中的唯一值拆分数组

python - 在 Visual Studio 2017 中使用 Pybind11 for Python 构建 CPP 时出现编译错误

python - 更改 Seaborn 散点图中的图例位置和标签

python - time.sleep(1) 错误——Raspberry Pi 上的 python

python - 使用 if/else 和 for 循环将项目附加到列表理解中的列表

python - 尝试使用 matplotlib 绘制 OpenCV 的 MSER 区域

python-3.x - ValueError : The number of FixedLocator locations (5), 通常来自对 set_ticks 的调用,与刻度标签的数量不匹配 (12)

python - 如何使用 Matplotlib 在对数刻度上显示次要刻度标签

r - 将有图例的图与没有图例的图结合起来

r - 在 R 中仅将图例标题的一部分加粗