如何在matplotlib事件图中添加图例?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在matplotlib事件图中添加图例?相关的知识,希望对你有一定的参考价值。

有谁知道如何在matplotlib的新绘图类型eventplot中添加图例?

我没有成功尝试过很多东西,包括:

labels1 = ['red', 'green', 'blue', 'yellow', 'magenta', 'cyan']
ax2.eventplot(data1, colors=colors1, lineoffsets=lineoffsets1,
              linelengths=linelengths1, orientation='vertical', label=labels1)
ax2.legend()

这些编辑是在http://matplotlib.org/dev/api/pyplot_api.html#matplotlib.pyplot.eventplot上找到的示例代码eventplot_demo.py上进行的

答案

TL;DR

只是,ax.legend( list_of_names )

Explain

从你的代码,

labels1 = ['red', 'green', 'blue', 'yellow', 'magenta', 'cyan']
ax2.eventplot(data1, colors=colors1, lineoffsets=lineoffsets1,
              linelengths=linelengths1, orientation='vertical')
ax2.legend( labels1 )

matplotlib.pyplot.eventplot为例

import matplotlib.pyplot as plt
import numpy as np
import matplotlib

# Fixing random state for reproducibility
np.random.seed(19680801)

# create random data
data = np.random.random([6, 50])

# set different colors for each set of positions
colors = np.array([[1, 0, 0],
                    [0, 1, 0],
                    [0, 0, 1],
                    [0, 0, 0],
                    [1, 0, 1],
                    [0, 1, 1]])
# label each set
labels = ['John','Mike','Bob','Sam','Alex','Eva']

fig, axs = plt.subplots(1,1)

# create a horizontal plot
axs.eventplot(data,color=colors)
# Just needed axs.legend(labels) the everything else is for the positioning
axs.legend(labels, bbox_to_anchor=(0., 1.0, 1., .10), loc=3,ncol=3, mode="expand", borderaxespad=0.)
plt.show()

最后结果

Final result

以上是关于如何在matplotlib事件图中添加图例?的主要内容,如果未能解决你的问题,请参考以下文章

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

如何在 matplotlib 条形图中用希腊符号替换主轴和次轴的图例标签?

删除 matplotlib 图上的图例

在带有子图的 geopandas 图中添加图例会改变图的大小

Pandas Matplotlib:如何更改散点图中图例的形状和大小?

如何根据 barplot 的值在 matplotlib 中创建自定义图例?