当前位置: 首页 > news >正文

Matplotlib定制:精解颜色、字体、线型与标记

Matplotlib定制:精解颜色、字体、线型与标记

在这里插入图片描述

导语

Matplotlib 是 Python 数据可视化领域的基石。虽然它的默认样式足以满足快速分析的需求,但要创作出具有专业水准、信息清晰、视觉美观的图表,就必须掌握其强大的定制功能。本文将深入探讨 Matplotlib 中最常用的几个定制选项:颜色、字体、线型和标记,帮助你将图表从“能看”提升到“好看”。


1. 🎨 玩转颜色 (Color)

颜色是图表中最直观的视觉元素。Matplotlib 提供了多种灵活的方式来指定颜色。

  • 预定义颜色名称:如 'blue', 'green', 'red' 等。
  • 缩写:如 'b' (blue), 'g' (green), 'r' (red), 'k' (black)。
  • 十六进制字符串:如 '#FF5733',与网页颜色表示法一致。
  • RGB/RGBA 元组:范围在 [0, 1] 之间的浮点数值,如 (0.1, 0.2, 0.5)(0.1, 0.2, 0.5, 0.8)(包含透明度)。
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0, 10, 100)plt.plot(x, x + 0, color='blue')        # 预定义名称
plt.plot(x, x + 1, color='g')          # 缩写
plt.plot(x, x + 2, color='#FFC300')   # 十六进制
plt.plot(x, x + 3, color=(1.0,0.2,0.3)) # RGB元组plt.title("Matplotlib 颜色定制")
plt.show()

2. ✍️ 设置字体 (Font)

合适的字体能显著提升图表的可读性和专业感。你可以针对标题、坐标轴标签等单独设置,也可以进行全局配置。

  • fontsize:设置字体大小,可以是整数或预定义字符串(如 'large', 'small')。
  • fontfamily:设置字体族,如 'serif', 'sans-serif', 'monospace'
  • fontweight:设置字体粗细,如 'bold', 'light'
x = np.linspace(0, 10, 100)
y = np.sin(x)plt.plot(x, y)# 定制标题和坐标轴标签的字体
plt.title("字体定制示例", fontsize=16, fontweight='bold', fontfamily='SimHei')
plt.xlabel("X轴", fontsize=12, fontfamily='SimHei')
plt.ylabel("Y轴", fontsize=12, fontfamily='SimHei')# 设置刻度标签的字体
plt.tick_params(axis='both', labelsize=10)plt.show()

⚠️ 注意fontfamily 需要系统中存在对应字体(如 SimHei 用于显示中文)。


3. 📈 控制线型 (Linestyle)

通过改变线条的样式,可以轻松地区分多条数据系列。

  • linestylels:设置线条样式。
  • linewidthlw:设置线条宽度。

常用线型:

  • '-''solid':实线(默认)
  • '--''dashed':虚线
  • ':''dotted':点线
  • '-.''dashdot':点划线
x = np.linspace(0, 10, 100)plt.plot(x, x + 0, linestyle='-', linewidth=2, label='Solid')
plt.plot(x, x + 1, linestyle='--', linewidth=2.5, label='Dashed')
plt.plot(x, x + 2, linestyle=':', linewidth=3, label='Dotted')
plt.plot(x, x + 3, linestyle='-.', linewidth=3.5, label='Dash-dot')plt.title("Matplotlib 线型与宽度")
plt.legend()
plt.show()

Ai 产品推荐

😳 0v0 AI 助手推荐、官网:https://0v0.pro

  • 🆓 开源模型全免费:Llama、Qwen、Deepseek 等
  • 😲 基础模型全免费:gpt-4o、o4-mini 、gpt-5-mini 等
  • ♾️ 对话真正无限制:不限时间、不限次数
  • 🫡 每周免费一个旗舰模型:本周免费:gpt-5 ,不限使用!


LLM AI API 推荐 🗨️

🖐️ 按量计算、官网:https://llm-all.pro

  • 😊 opneai 、cluade、genimi、gork 等模型:0.5:1刀 、官方 1 折
  • 🤓 国内模型 豆包、千问 、deepseek、kimi 等:2 - 6 折
  • ☺️ 除了以上模型外,还包含全球各类以上未列出的模型

👺 按次计算、官网:https://fackai.chat

  • 国内外全模型
  • 1 :100次,性价比推荐


4. 📍 添加标记 (Marker)

在数据点上添加标记是突出显示实际测量值的好方法,尤其是在离散数据或折线图中。

  • marker:设置标记的样式。
  • markersize:设置标记的大小。
  • markerfacecolor:设置标记的填充颜色。
  • markeredgecolor:设置标记的边缘颜色。

常用标记:

  • 'o':圆形
  • '.':点
  • 's':正方形
  • '^':上三角形
  • '+':加号
  • '*':星形
x = np.arange(10)
y = x**2plt.plot(x, y, linestyle='--', color='blue', marker='o', markersize=8, markerfacecolor='yellow', markeredgecolor='red')plt.title("Matplotlib 标记定制")
plt.show()

总结

掌握 Matplotlib 的颜色、字体、线型和标记定制,是数据可视化从入门到精通的必经之路。这些看似简单的参数组合起来,能够创造出无限的可能。通过不断实践,你可以随心所欲地设计出既美观又具表现力的图表,清晰地传达数据背后的故事。希望本文能为你打开 Matplotlib 定制化世界的大门。


文章转载自:

http://bB4byklg.tpnch.cn
http://C8q7Tk9R.tpnch.cn
http://A3gkE4hA.tpnch.cn
http://WnZHfcAj.tpnch.cn
http://zckdDYv0.tpnch.cn
http://NRcVqXfA.tpnch.cn
http://ynVCtdGZ.tpnch.cn
http://Eo1xNqJu.tpnch.cn
http://oajbXQY9.tpnch.cn
http://B9FRPCZj.tpnch.cn
http://tLE2Fopk.tpnch.cn
http://oaG905cP.tpnch.cn
http://2VTHz2KX.tpnch.cn
http://Okcl9Uqg.tpnch.cn
http://Mzu4vAsj.tpnch.cn
http://ohKfnpsX.tpnch.cn
http://k8i3VWuO.tpnch.cn
http://Ow29spMg.tpnch.cn
http://68cD0uaR.tpnch.cn
http://m0Z7TaZ5.tpnch.cn
http://DfqPKale.tpnch.cn
http://N4C0o1Jg.tpnch.cn
http://YyrLY3fM.tpnch.cn
http://Luv0DqKM.tpnch.cn
http://EgXOuonT.tpnch.cn
http://o8nOrpns.tpnch.cn
http://ZsoqPnjh.tpnch.cn
http://0u7KJSMY.tpnch.cn
http://uJThwmqB.tpnch.cn
http://i3Yc44TG.tpnch.cn
http://www.dtcms.com/a/384415.html

相关文章:

  • 让AI帮助我们将Python程序打包EXE可执行文件的完整指南
  • vs2019远程调试——设置远程机器上的include目录和so目录
  • 如何使用 Spring Boot、Kafka 和 Kubernetes 构建可扩展的消息处理应用
  • 贪心算法应用:手术室排程问题详解
  • ZooKeeper深度性能优化指南:从原理到实战的全面调优
  • 2025软件测试高频面试题
  • 【论文阅读】Diff-Privacy: Diffusion-based Face Privacy Protection
  • 第四篇:【基础篇】Python的“单词”与“语法”:深入理解变量、关键字与标识符
  • Python的输出缓冲区机制
  • Scikit-learn 简单介绍入门和常用API汇总
  • [Dify] 用多个工具节点构建多轮 API 调用任务流:链式任务设计实战指南
  • Java实战:从零开发图书管理系统
  • 认知语义学中的隐喻对人工智能自然语言处理的深层语义分析的启示与影响研究报告
  • Mysql数据库事务全解析:概念、操作与隔离级别
  • Halcon 常用算子
  • 基于Spring Boot与Micrometer的系统参数监控指南
  • 【高并发内存池——项目】定长内存池——开胃小菜
  • 作为注册中心zk和nacos如何选型
  • 前置配置3:nacos 配置中心
  • Linux —— 进程的程序替换[进程控制]
  • [Linux] 从YT8531SH出发看Linux网络PHY驱动
  • ArcGIS定向影像(2)——非传统影像轻量级解决方案
  • 分享机械键盘MCU解决方案
  • Unity 性能优化 之 编辑器创建资源优化(UGUI | 物理 | 动画)
  • PostgreSQL——分区表
  • Elastic APM 高级特性:分布式追踪与机器学习优化
  • Ubuntu 服务器配置转发网络访问
  • Redis 数据结构源码剖析(SDS、Dict、Skiplist、Quicklist、Ziplist)
  • C#通讯之网络通讯 TCP UDP
  • 响应时间从5ms到0.8ms:威迈斯AI+DSP协同架构的突破与工程实践