• 5星
3.3MB weixin_44510615 2021-06-22 10:50:36
• 要控制图例中的填充(有效地使图例框变大)，请使用borderpadkwarg。例如，以下是默认值：import matplotlib.pyplot as pltimport numpy as npx = np.linspace(0, 10, 100)fig, ax = plt.subplots()for i in range(1, ...

例如，以下是默认值：import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
fig, ax = plt.subplots()
for i in range(1, 6):
ax.plot(x, i*x + x, label='$y={i}x + {i}$'.format(i=i))
ax.legend(loc='upper left')
plt.show()

import numpy as np
x = np.linspace(0, 10, 100)
fig, ax = plt.subplots()
for i in range(1, 6):
ax.plot(x, i*x + x, label='$y={i}x + {i}$'.format(i=i))
plt.show()

或者，您可能需要更改项目之间的间距。使用labelspacing来控制：import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
fig, ax = plt.subplots()
for i in range(1, 6):
ax.plot(x, i*x + x, label='$y={i}x + {i}$'.format(i=i))
ax.legend(loc='upper left', labelspacing=2)
plt.show()

import numpy as np
x = np.linspace(0, 10, 100)
fig, ax = plt.subplots()
for i in range(1, 6):
ax.plot(x, i*x + x, label='$y={i}x + {i}$'.format(i=i))
plt.show()

另一方面，如果您有非常大的标记，您可能希望使图例中显示的行的长度更大。例如，默认值可能如下所示：import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 5)
fig, ax = plt.subplots()
for i in range(1, 6):
ax.plot(x, i*x + x, marker='o', markersize=20,
label='$y={i}x + {i}$'.format(i=i))
ax.legend(loc='upper left')
plt.show()

import numpy as np
x = np.linspace(0, 10, 5)
fig, ax = plt.subplots()
for i in range(1, 6):
ax.plot(x, i*x + x, marker='o', markersize=20,
label='$y={i}x + {i}$'.format(i=i))
plt.show()

在文档中，您可能还需要探索其他一些选项：Padding and spacing between various elements use following
keywords parameters. These values are measure in font-size
units. E.g., a fontsize of 10 points and a handlelength=5
implies a handlelength of 50 points. Values from rcParams
will be used if None.
=====================================================================
Keyword | Description
=====================================================================
borderpad the fractional whitespace inside the legend border
labelspacing the vertical space between the legend entries
handlelength the length of the legend handles
columnspacing the spacing between columns

展开全文
weixin_39814126 2020-12-05 18:09:13
• ## matplotlib修改图例的大小 python matplotlib 可视化

plt.legend(prop={'family':'SimHei','size':4}) 直接这样在size里面改就可以了，不需要更新字体库什么的。码住！
plt.legend(prop={'family':'SimHei','size':4})

直接这样在size里面改就可以了，不需要更新字体库什么的。码住！
展开全文
nebula1008 2021-05-17 23:45:55
• ## Matplotlib 图例中文显示（大小修改） Python画图 matplotlib

legend学习代码如下：#-- coding: utf-8 -- ... =matplotlib.font_manager.FontProperties(fname=’C:/Windows/Fonts/msyh.ttf’) #微软雅黑字体 mpl.rcParams[‘axes.unicode_minus’] = False plt.clf
legend学习
代码如下：
#-*- coding: utf-8 -*-
from pylab import *
myfont
=matplotlib.font_manager.FontProperties(fname='C:/Windows/Fonts/msyh.ttf')  #微软雅黑字体
mpl.rcParams['axes.unicode_minus'] = False

plt.clf()
fig = plt.figure(figsize=(5,5))
a=(1,2,3)
b=(4,5,6)
plt.plot(a,'b.', markersize=10, label=u'真')
plt.plot(b, 'r.',markersize=10, label=u'假')
plt.legend(loc='upper left',prop=myfont)
plt.title(u'你',fontproperties=myfont) #指定字体
plt.xlabel(u'我',fontproperties=myfont)
plt.ylabel(u'他',fontproperties=myfont，fontsize=17)  #指定大小
plt.grid(True)
plt.xlim(-1,3)
plt.show()
若需要图例显示中文且修改字体大小在导入字体里修改  myfont = matplotlib.font_manager.FontProperties(fname=’C:/Windows/Fonts/msyh.ttf’,size=14)  一般情况下图例大小修改为：prop={‘size’:6}，因为legend里不能添加fontsize，fontsize真能用在坐标、题目修改字体大小
展开全文
qq_28119401 2016-03-17 22:12:14
• ## 在matplotlib中移动图例框并调整其大小 python图例大小

我正在使用Matplotlib创建绘图，我将其保存为SVG，使用Inkscape导出为.pdf+.pdf_-tex，并将.pdf_-tex文件包含在乳胶文档中。这意味着我可以在标题、图例等中输入LaTeX命令，给出这样的图像当我在我的乳胶文档中使用...

我正在使用Matplotlib创建绘图，我将其保存为SVG，使用Inkscape导出为.pdf+.pdf_-tex，并将.pdf_-tex文件包含在乳胶文档中。
这意味着我可以在标题、图例等中输入LaTeX命令，给出这样的图像

当我在我的乳胶文档中使用它时，它会像这样呈现。请注意，轴上数字的字体会更改，图例中的乳胶代码也会编译：

绘图代码(如何导出到SVG此处未显示，但可根据要求显示)：import numpy as np
x = np.linspace(0,1,100)
y = x**2
import matplotlib.pyplot as plt
plt.plot(x, y, label = '{\\footnotesize \$y = x^2\$}')
plt.legend(loc = 'best')
plt.show()
问题是，如您所见，图例周围的框的对齐方式和大小是错误的。这是因为当图像通过Inkscape+pdflatex时，标签文本的大小会改变(因为\footnotesize等消失，字体大小也会改变)。
我想我可以选择标签的位置plt.label(loc = 'upper right')
或者如果我想要更多的控制plt.label(bbox_to_anchor = [0.5, 0.2])
但我还没找到办法把标签周围的盒子变小。这可能吗？
使盒子变小的另一种方法是使用类似于legend = plt.legend()
legend.get_frame().set_edgecolor('1.0')
然后把标签移到我想要的地方。在这种情况下，我希望首先让python/matplotlib使用plt.label(loc = 'upper right')
然后再把它移到右边。这可能吗？我试过使用get_bbox_to_anchor()和set_bbox_to_anchor()，但似乎无法使其工作。

展开全文
weixin_39944542 2020-12-06 06:47:45
• liming89 2020-11-12 23:34:44
• ## 如何解决matplotlib图例中文字体乱码 pycharm matplotlib 人工智能

Acegem 2019-10-21 14:03:24
• weixin_46090057 2020-05-09 19:40:16
• ## 如何修改matplotlib的图例的标题的字体大小 图例字体

weixin_38314865 2019-03-18 13:49:50
• ## 3.Matplotlib配置图例与颜色条 python matplotlib 数据分析

qq_45488242 2020-08-08 13:53:29
• weixin_43519707 2020-04-19 14:51:15
• weixin_39862484 2020-12-06 11:54:02
• ## 【python学习】matplotlib图例分开显示 python

qq_40481843 2020-05-27 10:09:26
• A_Z666666 2018-07-23 11:39:27
• weixin_38314865 2021-03-24 13:15:39
• ## python matplotlib 画图刻度、图例等字体、字体大小、刻度密度、线条样式设置 python matplotlib

u010358304 2017-12-26 21:35:14
• weixin_41545602 2020-12-22 22:53:27
• weixin_39607090 2020-12-05 16:34:11
• weixin_44830542 2020-12-16 00:29:35
• ## Matplotlib调整图例相关内容 matplotlib 机器学习 python

u011698800 2021-04-16 08:39:37
• weixin_39950470 2020-11-28 14:36:17
• ## matplotlib中legend图例的位置手动调整 python matplotlib

weixin_49432344 2021-04-21 17:49:48
• ## matplotlib--文字图例 matplotlib

clony1 2020-12-22 22:25:07
• ## Matplotlib教程二：各种图例 数学建模 数据可视化 matplotlib plt

weixin_44122191 2020-08-15 21:54:42
• weixin_39882589 2020-12-15 12:18:19
• weixin_39637049 2020-12-10 20:40:39
• HHG20171226 2019-09-24 18:22:16

...