跳到主要内容
Ctrl+K
Matplotlib 3.10.0 documentation - Home
  • 绘图类型
  • 用户指南
  • 教程
  • 示例
  • 参考
  • 贡献
  • 发行版本
  • Gitter
  • Discourse
  • GitHub
  • Twitter
  • 绘图类型
  • 用户指南
  • 教程
  • 示例
  • 参考
  • 贡献
  • 发行版本
  • Gitter
  • Discourse
  • GitHub
  • Twitter

章节导航

  • 线条、柱状图和标记
    • 带有单独柱状颜色的柱状图
    • 带有标签的柱状图
    • 堆叠柱状图
    • 带有标签的分组柱状图
    • 水平柱状图
    • 断开的 Barh
    • CapStyle
    • 绘制分类变量
    • 绘制两个信号的相干性
    • 交叉频谱密度 (CSD)
    • 带有误差带的曲线
    • 误差条限制选择
    • 误差条子采样
    • EventCollection 演示
    • Eventplot 演示
    • 填充多边形
    • fill_between 透明度
    • 填充两条线之间的区域
    • 填充两条垂直线之间的区域
    • 带有渐变的柱状图
    • 帽图
    • 离散分布作为水平柱状图
    • JoinStyle
    • 虚线样式配置
    • 带有刻度路径效果的线条
    • 线型
    • 标记参考
    • Markevery 演示
    • 绘制掩码和 NaN 值
    • 多色线条
    • 将标记属性映射到多元数据
    • 功率谱密度 (PSD)
    • 散点演示2
    • 带有直方图的散点图
    • 带有掩码值的散点图
    • 标记示例
    • 带有图例的散点图
    • 折线图
    • 使用 fill_between 绘制由逻辑掩码定义的阴影区域
    • 频谱表示
    • 堆叠图和流图
    • 阶梯演示
    • 茎图
    • 步长演示
    • 带有线条、日期和文本的时间线
    • hlines 和 vlines
    • 交叉相关和自相关
  • 图像、轮廓和字段
    • 图像的仿射变换
    • 风羽
    • 条形码
    • 交互式调整颜色映射范围
    • 颜色映射归一化
    • 颜色映射归一化 SymLogNorm
    • 轮廓角掩码
    • 轮廓演示
    • 轮廓图像
    • 轮廓标签演示
    • Contourf 演示
    • Contourf 阴影
    • Contourf 和对数颜色刻度
    • 优化解决方案空间的轮廓图
    • BboxImage 演示
    • Figimage 演示
    • 带注释的热图
    • 图像重采样
    • 使用补丁裁剪图像
    • 绘制图像的多种方式
    • 带有掩码值的图像
    • 非均匀图像
    • 在 2D 图像中混合透明度和颜色
    • 修改坐标格式化器
    • imshow 的插值
    • 不规则间隔数据的轮廓图
    • 使用 alpha 混合分层图像
    • 使用 matshow 可视化矩阵
    • 具有一个颜色条的多个图像
    • pcolor 图像
    • pcolormesh 网格和阴影
    • pcolormesh
    • 流线图
    • QuadMesh 演示
    • 高级 quiver 和 quiverkey 函数
    • Quiver 简单演示
    • 阴影示例
    • 频谱图
    • Spy 演示
    • Tricontour 演示
    • Tricontour 平滑 Delaunay
    • Tricontour 平滑用户
    • Trigradient 演示
    • Triinterp 演示
    • Tripcolor 演示
    • Triplot 演示
    • 水印图像
  • 子图、轴和图形
    • 对齐标签和标题
    • 以编程方式控制子图调整
    • 轴框纵横比
    • 轴演示
    • 使用边距和 sticky_edges 控制视图限制
    • 轴属性
    • 轴缩放效果
    • 绘制跨轴的区域
    • 相等的轴纵横比
    • 轴标签位置
    • 断轴
    • 自定义图形子类
    • 使用约束布局调整轴大小
    • 使用紧密布局调整轴大小
    • 同一轴上的不同刻度
    • 不同单位的图形大小
    • 图形标签:suptitle、supxlabel、supylabel
    • 相邻子图
    • 地理投影
    • 使用子图和 GridSpec 组合两个子图
    • 用于多列/行子图布局的 Gridspec
    • 嵌套 Gridspecs
    • 反转轴
    • 管理 pyplot 中的多个图形
    • 辅助轴
    • 共享轴限制和视图
    • 共享轴
    • 图形子图
    • 多个子图
    • 子图间距和边距
    • 使用 plt.subplots 创建多个子图
    • 具有不同刻度的绘图
    • 缩放区域插入轴
  • 统计
    • 箱线图中的艺术家自定义
    • 具有自定义填充颜色的箱线图
    • 箱线图
    • 箱线图与小提琴图比较
    • 单独计算和绘制箱线图
    • 绘制二维数据集的置信椭圆
    • 小提琴图自定义
    • 误差条函数
    • 指定误差条的不同方式
    • 在误差条中包含上限和下限
    • 使用 PatchCollection 从误差条创建框
    • 六边形分箱图
    • 直方图
    • 双直方图
    • 累积分布
    • 直方图函数不同 histtype 设置的演示
    • 具有多个数据集的直方图 (hist) 函数
    • 直方图箱、密度和权重
    • 多个并排直方图
    • 时间序列直方图
    • 小提琴图基础知识
  • 饼图和极坐标图
    • 饼图
    • 饼图条形
    • 嵌套饼图
    • 带有标签的饼图和甜甜圈图
    • 极坐标轴上的柱状图
    • 极坐标图
    • 极坐标轴上的误差条渲染
    • 极坐标图例
    • 极坐标轴上的散点图
  • 文本、标签和注释
    • 重音文本
    • 对齐 y 轴标签
    • 比例不变的角度标签
    • 支架箭头上的角度注释
    • 注释变换
    • 注释绘图
    • 注释绘图
    • 注释极坐标图
    • 箭头演示
    • 自动换行文本
    • 编写自定义图例
    • 日期刻度标签
    • AnnotationBbox 演示
    • 使用文本作为路径
    • 文本旋转模式
    • \dfrac 和 \frac 之间的区别
    • 使用工程符号格式化刻度
    • 注释箭头样式参考
    • 设置文本框样式
    • 图形图例演示
    • 配置字体系列
    • 使用 ttf 字体文件
    • 字体表
    • 字体演示(面向对象风格)
    • 字体演示(关键字参数)
    • 标注子图
    • 使用预定义标签的图例
    • 图例演示
    • 艺术家中的艺术家
    • 将文本转换为图像
    • Mathtext
    • 数学表达式
    • 数学字体系列
    • 多行
    • 放置文本框
    • 使用不同的属性连接文本对象
    • STIX 字体
    • 使用 TeX 渲染数学公式
    • 文本对齐
    • 文本属性
    • 使用字典控制文本和标签的样式
    • 数据坐标中的文本旋转角度
    • 标题定位
    • Unicode 减号
    • Usetex 文本基线
    • Usetex 字体效果
    • 文本水印
  • 颜色
    • 颜色演示
    • 按 y 值着色
    • 默认属性循环中的颜色
    • 颜色条
    • 颜色映射参考
    • 从颜色列表创建颜色映射
    • 从颜色映射中选择单个颜色
    • 命名颜色列表
    • 设置颜色 alpha 值的方式
  • 形状和集合
    • 箭头指南
    • Matplotlib 艺术家参考
    • 带有自动缩放的线条、多边形和规则多边形集合
    • 复合路径
    • 海豚
    • Mmh 甜甜圈!!!
    • 带有方向箭头演示的椭圆
    • 椭圆集合
    • 椭圆演示
    • 绘制精美盒子
    • 阴影线演示
    • 阴影线样式参考
    • 使用 LineCollection 绘制多条线
    • 圆形、楔形和多边形
    • PathPatch 对象
    • 贝塞尔曲线
    • 散点图
  • 样式表
    • 黑客贝叶斯方法的样式表
    • 深色背景样式表
    • FiveThirtyEight 样式表
    • ggplot 样式表
    • 灰度样式表
    • Petroff10 样式表
    • Solarized Light 样式表
    • 样式表参考
  • 模块 - pyplot
    • 无限线
    • 简单绘图
    • 使用 pyplot 的文本和数学文本
    • 使用 pyplot 的多条线
    • 使用 pyplot 的两个子图
  • 模块 - axes_grid1
    • 锚定方向箭头
    • 轴分隔符
    • 演示轴网格
    • 轴网格 2
    • HBoxDivider 和 VBoxDivider 演示
    • 使用 RGBAxes 显示 RGB 通道
    • 带有轴分隔符的颜色条
    • 使用插入轴控制颜色条的位置和大小
    • 每行或每列颜色条
    • 具有固定物理大小的轴
    • 具有固定纵横比的 ImageGrid 单元格
    • 插入定位器演示
    • 插入定位器演示 2
    • 使用 axes_grid 为 ylabel 腾出空间
    • 寄生简单
    • 寄生简单 2
    • 使用可定位轴将直方图与散点图对齐
    • 简单锚定艺术家
    • 简单轴分隔符 1
    • 简单轴分隔符 3
    • 简单 ImageGrid
    • 简单 ImageGrid 2
    • 简单 Axisline4
  • 模块 - axisartist
    • 轴方向
    • axis_direction 演示
    • 轴线样式
    • 曲线网格演示
    • 演示曲线网格 2
    • floating_axes 功能
    • 浮动轴演示
    • 寄生轴演示
    • 寄生轴演示
    • 刻度标签对齐
    • 刻度标签方向
    • 简单轴方向
    • 简单轴刻度标签和刻度方向
    • 简单轴填充
    • 带有 axisartist 的自定义脊椎
    • 简单轴线
    • 简单轴线 3
  • 展示
    • 图形的解剖结构
    • Firefox
    • 积分作为曲线下的面积
    • 阴影和功率归一化渲染
    • 重叠轴的平移/缩放事件
    • 32 年的股票价格
    • XKCD
  • 动画
    • 衰减
    • 动画直方图
    • pyplot 动画
    • 贝叶斯更新
    • 双摆问题
    • 使用预先计算的图像列表的动画图像
    • 帧捕获
    • 多轴动画
    • 暂停和恢复动画
    • 雨模拟
    • 动画 3D 随机游走
    • 动画折线图
    • 保存为 GIF 的动画散点图
    • 示波器
    • Matplotlib 解锁
  • 事件处理
    • 关闭事件
    • 鼠标移动和点击事件
    • 十字光标
    • 数据浏览器
    • 图形/轴进入和离开事件
    • 交互式函数
    • 滚动事件
    • 按键事件
    • 套索演示
    • 图例拾取
    • 放大镜
    • 路径编辑器
    • 拾取事件演示
    • 拾取事件演示 2
    • 多边形编辑器
    • 乒乓球
    • 重采样数据
    • 计时器
    • Trifinder 事件演示
    • Viewlims
    • 缩放修改其他轴
  • 其他
    • 锚定艺术家
    • 确定艺术家是否相交
    • 手动轮廓
    • 坐标报告
    • 自定义投影
    • 自定义 Rc
    • AGG 过滤器
    • 带状框
    • 直接向图形添加线条
    • 填充螺旋
    • Findobj 演示
    • 字体索引
    • 字体属性
    • 使用矩形和多边形集合构建直方图
    • 超链接
    • 图像缩略图
    • 使用关键字绘图
    • Matplotlib 标志
    • 多页 PDF
    • 多进程
    • 气泡图
    • Patheffect 演示
    • 将图像打印到标准输出
    • 矢量图形的栅格化
    • 设置和获取属性
    • 将 SVG 过滤器应用于线条
    • SVG 过滤器饼图
    • 表格演示
    • TickedStroke 路径效果
    • transforms.offset_copy
    • Zorder 演示
  • 3D 绘图
    • 在 3D 图上绘制 2D 数据
    • 3D 条形图演示
    • 将数据裁剪到坐标轴视图限制
    • 在不同平面上创建 2D 条形图
    • 3D 箱形表面图
    • 在 3D 中绘制等高线(水平)曲线
    • 使用 extend3d 选项在 3D 中绘制等高线(水平)曲线
    • 将等高线剖面投影到图形上
    • 填充等高线
    • 将填充等高线投影到图形上
    • 3D 表面图中自定义阴影
    • 3D 误差线
    • 填充 3D 线之间
    • 填充 3D 线图下方
    • 创建 2D 数据的 3D 直方图
    • 3D 中的 2D 图像
    • 相交平面
    • 参数曲线
    • 洛伦兹吸引子
    • 同一图形中的 2D 和 3D 轴
    • 自动文本偏移
    • 在 3D 图中绘制平面对象
    • 生成 3D 多边形
    • 3D 图投影类型
    • 3D 箭袋图
    • 旋转 3D 图
    • 3D 散点图
    • 3D 茎图
    • 作为子图的 3D 图
    • 3D 表面(颜色映射)
    • 3D 表面(纯色)
    • 3D 表面(棋盘格)
    • 使用极坐标的 3D 表面
    • 3D 中的文本注释
    • 三角 3D 等高线图
    • 三角 3D 填充等高线图
    • 三角 3D 表面
    • 更多三角 3D 表面
    • 主要 3D 视图平面
    • 3D 体素/体积图
    • NumPy 徽标的 3D 体素图
    • 具有 RGB 颜色的 3D 体素/体积图
    • 具有圆柱坐标的 3D 体素/体积图
    • 3D 线框图
    • 动画 3D 线框图
    • 一个方向上的 3D 线框图
  • 刻度
    • Asinh 演示
    • 对数对数纵横比
    • 自定义刻度
    • 对数条形图
    • 对数演示
    • Logit 演示
    • 探索归一化
    • 刻度
    • 对数轴
    • Symlog 演示
  • 特殊绘图
    • 阴影
    • 安斯库姆四重奏
    • 辛顿图
    • 石川图
    • 左心室牛眼图
    • 带有脑电图的 MRI
    • 雷达图(又名蜘蛛图或星图)
    • 桑基类
    • 使用桑基图的长连接链
    • 朗肯功率循环
    • SkewT-logP 图:使用变换和自定义投影
    • 地形阴影
  • 脊柱
    • 脊柱
    • 脊柱放置
    • 掉落的脊柱
    • 带有脊柱的多个 y 轴
    • 带有箭头的中心脊柱
  • 刻度
    • 自动设置刻度位置
    • 在刻度之间居中标签
    • 颜色条刻度标签
    • 自定义刻度器
    • 使用 ConciseDateFormatter 格式化日期刻度
    • 日期演示转换
    • 使用重复规则放置日期刻度
    • 日期刻度定位器和格式化器
    • 时间序列的自定义刻度格式化器
    • 日期精度和纪元
    • 美元刻度
    • SI 前缀偏移量和自然数量级
    • 图轴自定义简单
    • 主刻度和次刻度
    • 多级(嵌套)刻度
    • 默认刻度格式化器
    • 刻度格式化器
    • 刻度定位器
    • 在右侧设置默认 y 轴刻度标签
    • 从值列表中设置刻度标签
    • 将 x 轴刻度标签移动到顶部
    • 旋转的刻度标签
    • 修复过多刻度
  • 单位
    • 带有单位的注释
    • 艺术家测试
    • 带有单位的条形图演示
    • 带有单位的组条形图
    • 基本单位
    • 带有单位的椭圆
    • 埃文斯测试
    • 弧度刻度
    • 英寸和厘米
    • 单位处理
  • 在图形用户界面中嵌入 Matplotlib
    • CanvasAgg 演示
    • 在 GTK3 中嵌入带有导航工具栏
    • 在 GTK3 中嵌入
    • 在 GTK4 中嵌入带有导航工具栏
    • 在 GTK4 中嵌入
    • 在 Qt 中嵌入
    • 在 Tk 中嵌入
    • 在 wx #2 中嵌入
    • 在 wx #3 中嵌入
    • 在 wx #4 中嵌入
    • 在 wx #5 中嵌入
    • 嵌入 WebAgg
    • 傅立叶演示 WX
    • GTK3 电子表格
    • GTK4 电子表格
    • 在 WX 中显示数学文本
    • 带有 Glade 3 的 Matplotlib
    • mplcvd -- 图形钩子的示例
    • 带有 GTK3 的 pyplot
    • 带有 GTK4 的 pyplot
    • SVG 直方图
    • SVG 工具提示
    • 工具管理器
    • 在 Web 应用程序服务器(Flask)中嵌入
    • 在 WX 中添加光标
  • 小部件
    • 带注释的光标
    • 按钮
    • 复选按钮
    • 光标
    • 套索选择器
    • 菜单
    • 鼠标光标
    • 多光标
    • 使用多边形选择器从集合中选择索引
    • 多边形选择器
    • 单选按钮
    • 使用 RangeSlider 进行图像缩放
    • 矩形和椭圆选择器
    • 滑块
    • 将滑块捕捉到离散值
    • 跨度选择器
    • 文本框
  • 用户演示
    • subplot2grid 演示
    • GridSpec 演示
    • 嵌套 GridSpecs
    • 简单图例 01
    • 简单图例 02
  • 示例
  • 其他
  • Matplotlib 标志

注意

转到结尾以下载完整的示例代码。

Matplotlib 标志#

此示例生成当前的 matplotlib 标志。

import matplotlib.pyplot as plt
import numpy as np

import matplotlib.cm as cm
import matplotlib.font_manager
from matplotlib.patches import PathPatch, Rectangle
from matplotlib.text import TextPath
import matplotlib.transforms as mtrans

MPL_BLUE = '#11557c'


def get_font_properties():
    # The original font is Calibri, if that is not installed, we fall back
    # to Carlito, which is metrically equivalent.
    if 'Calibri' in matplotlib.font_manager.findfont('Calibri:bold'):
        return matplotlib.font_manager.FontProperties(family='Calibri',
                                                      weight='bold')
    if 'Carlito' in matplotlib.font_manager.findfont('Carlito:bold'):
        print('Original font not found. Falling back to Carlito. '
              'The logo text will not be in the correct font.')
        return matplotlib.font_manager.FontProperties(family='Carlito',
                                                      weight='bold')
    print('Original font not found. '
          'The logo text will not be in the correct font.')
    return None


def create_icon_axes(fig, ax_position, lw_bars, lw_grid, lw_border, rgrid):
    """
    Create a polar Axes containing the matplotlib radar plot.

    Parameters
    ----------
    fig : matplotlib.figure.Figure
        The figure to draw into.
    ax_position : (float, float, float, float)
        The position of the created Axes in figure coordinates as
        (x, y, width, height).
    lw_bars : float
        The linewidth of the bars.
    lw_grid : float
        The linewidth of the grid.
    lw_border : float
        The linewidth of the Axes border.
    rgrid : array-like
        Positions of the radial grid.

    Returns
    -------
    ax : matplotlib.axes.Axes
        The created Axes.
    """
    with plt.rc_context({'axes.edgecolor': MPL_BLUE,
                         'axes.linewidth': lw_border}):
        ax = fig.add_axes(ax_position, projection='polar')
        ax.set_axisbelow(True)

        N = 7
        arc = 2. * np.pi
        theta = np.arange(0.0, arc, arc / N)
        radii = np.array([2, 6, 8, 7, 4, 5, 8])
        width = np.pi / 4 * np.array([0.4, 0.4, 0.6, 0.8, 0.2, 0.5, 0.3])
        bars = ax.bar(theta, radii, width=width, bottom=0.0, align='edge',
                      edgecolor='0.3', lw=lw_bars)
        for r, bar in zip(radii, bars):
            color = *cm.jet(r / 10.)[:3], 0.6  # color from jet with alpha=0.6
            bar.set_facecolor(color)

        ax.tick_params(labelbottom=False, labeltop=False,
                       labelleft=False, labelright=False)

        ax.grid(lw=lw_grid, color='0.9')
        ax.set_rmax(9)
        ax.set_yticks(rgrid)

        # the actual visible background - extends a bit beyond the axis
        ax.add_patch(Rectangle((0, 0), arc, 9.58,
                               facecolor='white', zorder=0,
                               clip_on=False, in_layout=False))
        return ax


def create_text_axes(fig, height_px):
    """Create an Axes in *fig* that contains 'matplotlib' as Text."""
    ax = fig.add_axes((0, 0, 1, 1))
    ax.set_aspect("equal")
    ax.set_axis_off()

    path = TextPath((0, 0), "matplotlib", size=height_px * 0.8,
                    prop=get_font_properties())

    angle = 4.25  # degrees
    trans = mtrans.Affine2D().skew_deg(angle, 0)

    patch = PathPatch(path, transform=trans + ax.transData, color=MPL_BLUE,
                      lw=0)
    ax.add_patch(patch)
    ax.autoscale()


def make_logo(height_px, lw_bars, lw_grid, lw_border, rgrid, with_text=False):
    """
    Create a full figure with the Matplotlib logo.

    Parameters
    ----------
    height_px : int
        Height of the figure in pixel.
    lw_bars : float
        The linewidth of the bar border.
    lw_grid : float
        The linewidth of the grid.
    lw_border : float
        The linewidth of icon border.
    rgrid : sequence of float
        The radial grid positions.
    with_text : bool
        Whether to draw only the icon or to include 'matplotlib' as text.
    """
    dpi = 100
    height = height_px / dpi
    figsize = (5 * height, height) if with_text else (height, height)
    fig = plt.figure(figsize=figsize, dpi=dpi)
    fig.patch.set_alpha(0)

    if with_text:
        create_text_axes(fig, height_px)
    ax_pos = (0.535, 0.12, .17, 0.75) if with_text else (0.03, 0.03, .94, .94)
    ax = create_icon_axes(fig, ax_pos, lw_bars, lw_grid, lw_border, rgrid)

    return fig, ax

大型标志

make_logo(height_px=110, lw_bars=0.7, lw_grid=0.5, lw_border=1,
          rgrid=[1, 3, 5, 7])
logos2

小型 32 像素标志

make_logo(height_px=32, lw_bars=0.3, lw_grid=0.3, lw_border=0.3, rgrid=[5])
logos2

大型标志,包括文本,如 matplotlib 网站上所用。

make_logo(height_px=110, lw_bars=0.7, lw_grid=0.5, lw_border=1,
          rgrid=[1, 3, 5, 7], with_text=True)
plt.show()
logos2
findfont: Font family ['Calibri'] not found. Falling back to DejaVu Sans.
Original font not found. Falling back to Carlito. The logo text will not be in the correct font.

下载 Jupyter 笔记本: logos2.ipynb

下载 Python 源代码: logos2.py

下载 压缩包: logos2.zip

由 Sphinx-Gallery 生成的图库

© 版权所有 2002–2012 John Hunter、Darren Dale、Eric Firing、Michael Droettboom 和 Matplotlib 开发团队;2012–2024 Matplotlib 开发团队。

使用 Sphinx 8.1.3 创建。

从 v3.10.0-8-g90ca931035 构建。

使用 PyData Sphinx 主题 0.15.4 构建。