如何将传奇从情节中排除 [英] How to put the legend out of the plot

查看:27
本文介绍了如何将传奇从情节中排除的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在一个图中制作了一系列 20 个图(不是子图).我希望图例在框外.同时,我不想改变轴,因为图形的大小变小了.请帮助我解决以下问题:

  1. 我想将图例框保留在绘图区域之外.(我希望图例位于情节区域的右侧).
  2. 有没有办法减小图例框内文本的字体大小,使图例框的大小变小.

解决方案

  • 您可以通过指定 FontPropertiesset_size 来缩小图例文本.
  • 资源:
      • 正如 Mateen Ulhaq 所述,fontsize='xx-small' 也无需导入 FontProperties 即可工作.

      plt.legend(handles=[p1, p2], title='title', bbox_to_anchor=(1.05, 1), loc='upper left', fontsize='xx-小')

      I have a series of 20 plots (not subplots) to be made in a single figure. I want the legend to be outside of the box. At the same time, I do not want to change the axes, as the size of the figure gets reduced. Kindly help me for the following queries:

      1. I want to keep the legend box outside the plot area. (I want the legend to be outside at the right side of the plot area).
      2. Is there anyway that I reduce the font size of the text inside the legend box, so that the size of the legend box will be small.

      解决方案

      import matplotlib.pyplot as plt
      from matplotlib.font_manager import FontProperties
      
      fontP = FontProperties()
      fontP.set_size('xx-small')
      
      p1, = plt.plot([1, 2, 3], label='Line 1')
      p2, = plt.plot([3, 2, 1], label='Line 2')
      plt.legend(handles=[p1, p2], title='title', bbox_to_anchor=(1.05, 1), loc='upper left', prop=fontP)
      

      • As noted by Mateen Ulhaq, fontsize='xx-small' also works, without importing FontProperties.

      plt.legend(handles=[p1, p2], title='title', bbox_to_anchor=(1.05, 1), loc='upper left', fontsize='xx-small')
      

      这篇关于如何将传奇从情节中排除的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆