【问题标题】:Matplotlib: Convert the legend to a bitmap [duplicate]Matplotlib:将图例转换为位图 [重复]
【发布时间】:2018-05-10 08:01:15
【问题描述】:

我希望图例作为单独的位图,matplotlib 可以吗?

import matplotlib
import matplotlib.pyplot as plt
fig = plt.figure()
axes = fig.add_axes([0.1, 0.1, 0.8, 0.8])
axes.plot([1,2,3,4,5], [1,2,3,4,5], 'r')
legend = axes.legend()

如何将图例保存到位图?有什么想法吗?

【问题讨论】:

  • 你想要单独的图例吗?
  • 是的,没错,如果它在一个单独的图中,那么我可以将它保存到位图中。好主意!

标签: python matplotlib


【解决方案1】:

如果您想在不同的图中有图例,可以使用axes.get_legend_handles_labels() 获取图例句柄和标签并将它们添加到不同的图中。

您还需要在第一个图中提供一个图例,使用 label 参数,或显式提供与句柄关联的标签列表。

以下代码应该符合我在对该问题的评论中的建议:

fig = plt.figure()
axes = fig.add_axes([0.1, 0.1, 0.8, 0.8])
axes.plot([1,2,3,4,5], [1,2,3,4,5], 'r', label='test')
legend = axes.legend()

fig2 = plt.figure()
ax = fig2.add_subplot(111)
# add the legend from a different axes
ax.legend(*axes.get_legend_handles_labels())
# hide the spines and the x/y labels
ax.axis('off')

如果您想要更多地控制隐藏内容,您可以仅使用隐藏轴脊

ax.set_frame_on(False)

或带有

的x/y标签
ax.xaxis.set_visible(False)
ax.yaxis.set_visible(False)

【讨论】:

  • 可以隐藏图本身吗?只显示传说?对不起,我的意思是轴
  • @Har:检查我的编辑
  • 如果the duplicate 的答案都没有显示此处使用的方法,我建议您将答案写在此处而不是此处,以便人们在一个地方找到所有选项。
  • @ImportanceOfBeingErnest:完成。
猜你喜欢
  • 2011-05-14
  • 1970-01-01
  • 1970-01-01
  • 2019-05-29
  • 2013-11-30
  • 1970-01-01
  • 1970-01-01
  • 2016-05-19
  • 2023-03-14
相关资源
最近更新 更多