Matpotlib绘图——图例

  • 字体设置
#设置字体为楷体
plt.rcParams['font.sans-serif'] = ['KaiTi'] 
plt.rcParams['axes.unicode_minus'] = False

# python经典字体警告:RuntimeWarning: Glyph missing from current font. font.set_text(s, 0.0, flags=flags)
  • 绘制sin、cos图,测试图例
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['KaiTi'] 
plt.rcParams['axes.unicode_minus'] = False
#获得设置大小的画布,是为第一个子图
fig , ax = plt.subplots(1, 1, figsize = (10, 6))
x = np.linspace(-2 * np.pi, 2 * np.pi, 100)
ax.plot(x, np.sin(x))
ax.plot(x, np.cos(x))
ax.set_title('测试')
#x轴设置,对于axes类,一般处理方法:要先设置数值类型的标签,再换成字符串
ax.set_xlim(-8, 8)#设置x轴标签的范围,一般在优先设置
ax.set_xticks([-2 * np.pi, -np.pi, 0, np.pi, 2 * np.pi])#设置x轴的标签
xlabels = (r' - 2$\pi$', r'$ - \pi$', '0', r'$ + \pi$', r' + 2$\pi$') #Latex语法
ax.set_xticklabels(xlabels)#更换x轴的标签
ax.set_ylim(-1.2, 1.2)
plt.show()

legend()绘制图例

matplotlib.pyplot.legend — Matplotlib 3.3.2 documentation

1. 一般使用的参数

ax.legend(handles, labels, loc)
  • labels 是一个字符串序列,用来指定标签的名称;
  • loc 是指定图例位置的参数,其参数值可以用字符串或整数来表示;
  • handles 参数,它也是一个序列,它包含了所有线型的实例;

labels最重要,没有要设置的labels,就没必要绘制图例

对于loc:

简单使用:
#一般使用两个参数:labels、loc
legendLabels = ('正弦函数:sin(x)', '余弦函数:cos(x)')
ax.legend(labels = legendLabels, loc = 'upper right')

2. 更多参数

  • ncol:将图例分为多少列(视觉效果:水平放置标签)
  • legendLabels = ('正弦函数:sin(x)', '余弦函数:cos(x)')
    ax.legend(labels = legendLabels, ncol = len(legendLabels))
    
  • (2) bbox_to_anchor:用于在bbox_transform坐标(默认轴坐标)中为图例指定任意位置(视觉效果:图例在图片外面)
  • legendLabels = ('正弦函数:sin(x)', '余弦函数:cos(x)')
    ax.legend(labels = legendLabels, bbox_to_anchor=(0, 1))
    
  • (3) frameon
    •       legendLabels = ('正弦函数:sin(x)', '余弦函数:cos(x)')
            ax.legend(labels = legendLabels, loc = 'upper right', frameon = True, facecolor = 'blue', edgecolor = 'red', framealpha = 0.5, fancybox = True)
      
    • True(默认):绘制在一个patch实体上,视觉效果:有边框、背景(此时可设置背景色)
      • facecolor, edgecolor, framealpha, fancybox等参数来设置图示的背景(不是图片的背景)的颜色, 边框颜色, 透明度, 以及形状
    • False:绘制在图片上,视觉效果:无边框,背景跟随图片
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容