尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Matplotlib入门教程(四):绘图标记详解——marker 参数与样式定制
一、什么是绘图标记绘图过程中如果我们想要给坐标自定义一些不一样的标记就可以使用plot()方法的marker参数来定义。标记的作用作用说明突出数据点让读者一眼看到数据位置区分多条曲线不同曲线用不同标记美化图表提升视觉效果与专业度基本用法pythonimport matplotlib.pyplot as plt import numpy as np ypoints np.array([1, 3, 4, 5, 8, 9, 6, 1, 3, 4, 5, 2, 4]) plt.plot(ypoints, markero) # 实心圆标记 plt.show()二、marker 标记符号大全marker可以定义的符号如下标记符号描述.m00点,m01像素点om02实心圆vm03下三角^m04上三角m05左三角m06右三角1m07下三叉2m08上三叉3m09左三叉4m10右三叉8m11八角形sm12正方形pm13五边形Pm23加号填充*m14星号hm15六边形 1Hm16六边形 2m17加号xm18乘号 xXm24乘号 x填充Dm19菱形dm20瘦菱形|m21竖线_m22横线0(TICKLEFT)m25左横线1(TICKRIGHT)m26右横线2(TICKUP)m27上竖线3(TICKDOWN)m28下竖线4(CARETLEFT)m29左箭头5(CARETRIGHT)m30右箭头6(CARETUP)m31上箭头7(CARETDOWN)m32下箭头8(CARETLEFTBASE)m33左箭头中间点为基准9(CARETRIGHTBASE)m34右箭头中间点为基准10(CARETUPBASE)m35上箭头中间点为基准11(CARETDOWNBASE)m36下箭头中间点为基准None、 、—没有任何标记$...$m37渲染指定的字符如$f$以字母 f 为标记星号标记实例pythonimport matplotlib.pyplot as plt import numpy as np ypoints np.array([1, 3, 4, 5, 8, 9, 6, 1, 3, 4, 5, 2, 4]) plt.plot(ypoints, marker*) plt.show()下箭头实例pythonimport matplotlib.pyplot as plt import matplotlib.markers plt.plot([1, 2, 3], markermatplotlib.markers.CARETDOWNBASE) plt.show()提示除了使用字符也可以直接使用matplotlib.markers模块中的常量可读性更好。三、fmt 参数格式字符串fmt参数定义了基本格式如标记、线条样式和颜色。语法pythonfmt [marker][line][color]示例o:r部分含义o实心圆标记:虚线r红色pythonimport matplotlib.pyplot as plt import numpy as np ypoints np.array([6, 2, 13, 10]) plt.plot(ypoints, o:r) plt.show()注意fmt 中的三个部分顺序可以任意如ro:、r:o效果相同。1. 线类型线类型标记描述-实线:虚线--破折线-.点划线2. 颜色类型颜色标记描述r红色g绿色b蓝色c青色m品红y黄色k黑色w白色fmt 组合示例fmt效果o只画实心圆点o:r红色虚线上的实心圆点*-星号标记 实线s--g绿色破折线上的正方形标记D-.点划线 菱形标记四、标记大小与颜色我们可以自定义标记的大小与颜色使用的参数分别是参数简写作用markersizems定义标记的大小markerfacecolormfc定义标记内部的颜色markeredgecolormec定义标记边框的颜色1. 设置标记大小pythonimport matplotlib.pyplot as plt import numpy as np ypoints np.array([6, 2, 13, 10]) plt.plot(ypoints, markero, ms20) plt.show()ms20让标记明显变大适合数据点较少的图表。2. 设置标记外边框颜色pythonimport matplotlib.pyplot as plt import numpy as np ypoints np.array([6, 2, 13, 10]) plt.plot(ypoints, markero, ms20, mecr) plt.show()mecr让标记的边框变为红色。3. 设置标记内部颜色pythonimport matplotlib.pyplot as plt import numpy as np ypoints np.array([6, 2, 13, 10]) plt.plot(ypoints, markero, ms20, mfcr) plt.show()mfcr让标记的内部填充为红色。4. 自定义内部与边框颜色pythonimport matplotlib.pyplot as plt import numpy as np ypoints np.array([6, 2, 13, 10]) plt.plot(ypoints, markero, ms20, mec#4CAF50, mfc#4CAF50) plt.show()使用十六进制颜色值可以精确控制颜色。参数组合效果对比配置效果markero默认大小的实心圆markero, ms20大号实心圆markero, ms20, mecr大号圆红色边框markero, ms20, mfcr大号圆红色填充markero, ms20, mec#4CAF50, mfc#4CAF50大号圆绿色边框填充五、实战组合应用pythonimport matplotlib.pyplot as plt import numpy as np # 数据 x np.array([1, 2, 3, 4, 5]) y1 np.array([2, 4, 6, 8, 10]) y2 np.array([1, 3, 5, 7, 9]) # 第一条线红色实心圆 虚线 plt.plot(x, y1, o:r, ms10, labelLine 1) # 第二条线蓝色正方形 实线 plt.plot(x, y2, s-b, ms8, mfcnone, labelLine 2) plt.legend() plt.show()技巧解析配置效果o:r红色虚线 实心圆s-b蓝色实线 正方形mfcnone标记内部透明空心效果空心标记技巧mfcnone让标记内部透明只显示边框适合多条曲线叠加时避免遮挡。六、标记选择建议场景推荐标记数据点少需突出显示o、s、D数据点多需简洁.、,区分多条曲线不同形状组合圆、方、三角强调趋势而非点不设标记只画线打印黑白图表用形状区分而非颜色七、标记绘制流程图八、常见问题排查问题现象可能原因解决方案标记不显示marker 拼写错误或为空检查 marker 参数值fmt 格式无效字符不在支持列表参考标记/线型/颜色表ms不生效参数名拼写错误确认是ms或markersizemfcnone报错应为字符串none加引号标记遮挡曲线标记过大调小ms或设mfcnone颜色不生效十六进制格式错误确认格式为#RRGGBB九、小结本篇你掌握了 Matplotlib 绘图标记的核心用法marker 参数30 种标记符号覆盖点、圆、方、三角、箭头等。fmt 格式字符串[marker][line][color]三要素自由组合。标记大小ms/markersize控制尺寸。标记颜色mfc控制填充mec控制边框。实用技巧mfcnone实现空心标记。标记是让图表会说话的细节之一。下一篇我们将学习Matplotlib 绘图线深入掌握线条样式、宽度、颜色等定制技巧。
RELATED

相关推荐

Redis 系列 · 第 08 篇——面试收官:高频题与全景总结

Redis 系列 · 第 08 篇——面试收官:高频题与全景总结

把整个系列沉淀成一张知识地图 目 录 一、导读 二、高频面试题(基础类) 三、高频面试题(架构类) 四、高频面试题(场景类) 五、答题框架示范 5.1 框架一:为什么 Redis 快 5.2 框架二&#xff1a…

📅 2026/9/26 4:03:03
Windows 安装 SpecKit 实战:用 uv 与 PowerShell 配 TaoToken 统一 Key 通道

Windows 安装 SpecKit 实战:用 uv 与 PowerShell 配 TaoToken 统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/26 4:03:03
设备影子技术在万级机器人梯控IoT运维中的落地实践

设备影子技术在万级机器人梯控IoT运维中的落地实践

做了几年楼宇机器人梯控的IoT平台,最深的感受是:电梯这玩意儿看着普通,一旦要和万台机器人联动,状态同步问题能把人逼疯。机器人申请乘梯、等待电梯、进轿厢、按楼层、出电梯,每一个环节都要知道电梯当前在哪、轿厢有没…

📅 2026/9/26 4:03:03
MORE NEWS

更多资讯

📰

RabbitMQ整合Spring Boot实战:从Docker部署到消息可靠性设计

做后端到现在,RabbitMQ整合springboot这套组合,我在项目里前前后后用了七八次,从最早的Spring Boot 2.x配RabbitMQ 3.x,一直用到现在的Spring Boot 3.x配RabbitMQ 4.x。每次有同事问我消息队列怎么选、怎么配、怎么不丢消息&#…

📰

直播服务器选型指南:从带宽计算到CDN部署的避坑实战

做直播业务选服务器,和做普通网站完全不是一个思路。网站出问题顶多是打开慢,观众还能等;直播出问题就是画面卡住、声音断续、延迟飘忽,用户走的那叫一个干脆,连注册都不给你时间。我这几年前前后后给直播项目配过不少…

📰

AI浏览器代理实战:基于Playwright与大模型驱动的网页自动化

这两年做自动化最大的感受,不是脚本越写越复杂,而是“怎么让自动化理解页面”这件事被彻底换了个玩法。我日常主力里有一套AI浏览器代理工具,说白了就是让AI替我把浏览器里的活儿干了:它自己看页面、自己决定点哪里、自动填表单、…

📰

Spring Boot整合RabbitMQ:从交换机模型到消息可靠性的完整实践

先说结论:Spring Boot 整合 RabbitMQ,表面上是加个依赖、配个连接、写个监听器的事,真正拉开差距的,是对交换机模型、消息确认机制、序列化方式和权限体系的深入理解。这篇文章我从实际项目踩坑的经验出发,把从环境搭建…

📰

Windows 10 运行 PUBG Mobile 完整指南:模拟器选型、性能调优与避坑实践

1. 从"PUBG Mobile Download for Windows 10"这个标题说起看到"PUBG Mobile Download for Windows 10"这个标题,我第一反应是:这背后其实藏着一个非常典型的跨平台使用需求。PUBG Mobile 本身是一款为移动端设计的战术竞技类游戏&am…

📰

HTTP协议性能对比:从1.0到2.0的连接机制与JMeter实测

页面加载慢的时候,大家的第一反应通常是看接口耗时、查慢SQL、压缩图片、合并JS。但有时候瓶颈根本不在后端代码,而在传输层——你用的HTTP协议版本,决定了连接怎么建、请求怎么排、响应怎么回。我之前遇到过一次线上事故,页面几十…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬