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://www.pswp.cn/news/923470.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/923470.shtml
英文地址,请注明出处:http://en.pswp.cn/news/923470.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt开发经验 --- Qt监听文件/文件夹改变(17)

文章目录[toc]1 概述2 演示效果3 简单使用示例4 带界面的使用示例5 源代码地址更多精彩内容👉内容导航 👈👉Qt开发经验 👈1 概述 QT实现实时监控文件的创建、修改、删除操作 跟踪文件夹内容的增删改变化 可用于文件发生变化时自…

数据分析:合并一

🔷 DA37:统计运动会项目报名人数(仅输出有人报名的项目)✅ 题目描述给定两个 CSV 文件:items.csv:包含项目信息(item_id, item_name, location)signup.csv:包含员工报名信…

WWW‘25一通读 |图Anomaly/OOD检测相关文章(1)

写在前面:进入新一轮学习阶段,从阅读开始。 本文分享的是WWW2025收录的与作者研究相近的graph-based xx相关paper的阅读笔记,含个人理解,仅供参考😄 0x01 HEI:利用不变性原理实现异配图结构分布偏移学习 J…

static_cast:C++类型系统的“正经翻译官”

1. 背景与核心概念 1.1 C的“类型安全”哲学 想象一下,你所在的世界突然失去了所有规则:文字可以随意变成数字,人可以瞬间变成椅子,汽车能飞上天变成飞机… 这听起来像是疯狂的梦境,但对于早期C语言来说,这…

【嵌入式原理系列-第八篇】USART从原理到配置全解析

目录 一.通信领域基础知识介绍 1.1 串行和并行通信 1.2 同步和异步传输 1.3 串口和COM口 1.4 通信协议标准以及物理层定义 1.5 物理层协议之TTL / RS-232 / RS-485 二.USART介绍 2.1 USART特点介绍 2.2 UART和TTL / RS-232 / RS-485 2.3 USART硬线流控介绍 2.4 USAR…

MariaDB介绍和MariaDB包安装

文章目录MariaDB介绍和安装1.MariaDB介绍1.1 起源与背景1.2 核心特性1.2.1 高度兼容 MySQL1.2.2 优化的存储引擎1.2.3 企业级功能增强1.2.4 性能优化1.2.5 安全增强1.3 社区与生态1.4 应用场景1.5 总结2.MariaDB安装2.1 主机初始化2.1.1 设置网卡名2.1.2 设置ip地址2.1.3 配置镜…

双指针与滑动窗口算法精讲:从原理到高频面试题实战

引言:算法选择的十字路口 在算法面试中,双指针和滑动窗口如同两把瑞士军刀,能高效解决80%以上的数组和字符串问题。本文将深入解析这两种技术的核心差异,结合力扣高频题目,提供可直接复用的代码。 一、算法核心思想解析…

苹果MAC、MacBook air和pro安装windows双系统与iOS分发

文章目录1. main1.1 准备工作1.2 启动转换助理1.3 Windows安装1.4 苹果电脑安装Windows双系统切换2. 苹果(iOS)分发/上架2.1 上架App Store2.2 上架TestFlight2.3 webClip免签上架2.4 超级签名2.5 企业证书2.6 app分发系统Reference1. main 苹果电脑安装windows双系统 https:…

ArcGIS定向影像(1)——非传统影像轻量级解决方案

常常听到这样的需求,ArcGIS能让用户自己低成本的做出谷歌街景吗?现在 _ArcGIS Pro 3.2 和 ArcGIS Enterprise 11.2 _能够让用户不使用任何插件和扩展的情况下完成街景数据集的构建,数据管理,发布服务和调用的完整解决方案。非常体…

uni-app 网络之封装实战HTTP请求框架

前言在uniapp开发中,网络请求是每个应用都必不可少的功能模块。一个优秀的网络请求封装不仅能提高开发效率,还能增强代码的可维护性和可扩展性。本文将基于实际项目经验,详细介绍如何封装一个高效、可维护的Uniapp网络请求框架,并…

架构师成长之路-架构方法论

文章目录前言一、先搞懂:架构师不仅仅是“技术大佬”,更是“问题解决者”1.1 架构师的分类:不止“开发架构师”一种1.2 架构师要关注什么?别只盯着技术1.3 架构师解决问题的4步心法:从定义到落地1.4 架构师的成长攻略&…

uniapp在微信小程序中实现 SSE 流式响应

前言 最近需要使用uniapp开发一个智能对话页面,其中就需要使用SSE进行通信。 本文介绍下在uniapp中如何基于uni.request实现SSE流式处理。 在线体验 #小程序:yinuosnowball SSE传输格式 返回输出的流式块: Content-Type为text/event-stream 每个流式块均为 d…

STM32N6AI资料汇总

文章目录前言一、STM32N6硬件资源1.1 NUCLEO-N657X0-Q1.2 STM32N6570-DK1.3 正点原子STM32N647二、STM32N6软件资源2.1 STM32CubeN6例程资源包2.2 STM32图像信号处理器(ISP)调优软件2.3 正点原子N6开发板配套软件三、AI软件资源3.1 STM32N6 AI软件包总结…

Flask学习笔记(一)

1、环境准备pip install Flask使用Flask开发第1个入门程序:from flask import Flask app Flask(__name__) app.route(/) def hello_world():return Hello, World!if __name__ __main__:app.run()Flask构造函数将当前模块的名称(__name__)作为参数。2、route函数ap…

CSP认证练习题目推荐(4)

思维、贪心、综合 排队打水 这道题目不算难,但是不注意还是会出现很多错误,比如结构体的书写。以及自定义结构体排序。还有这里做的优化,使用前缀和记录打水的等待时间,但是这里很容易出错的点在于等待时间是应该是记录的前一个…

MySQL 视图的更新与删除:从操作规范到风险防控

MySQL 视图的更新与删除:从操作规范到风险防控 视图作为 “虚拟表”,其更新与删除操作常常让开发者困惑 ——“为什么更新视图会报错?”“删除视图会不会弄丢数据?” 实际上,80% 的视图操作问题都源于对 “视图依赖基表…

C 语言实现 I.MX6ULL 点灯(续上一篇)、SDK、deep及bsp工程管理

目录 一、汇编点灯转 C 语言实现 1. 关键字:volatile 2. 寄存器地址定义(两种方式) (1)直接宏定义地址 (2)结构体封装寄存器(优化访问) 3. 核心功能代码 &#xff…

DevOps实战(7) - 使用Arbess+GitPuk+sourcefare实现Node.js项目自动化部署

Arbess 是一款国产开源免费的 CI/CD 工具,工具支持一键部署,页面简洁易用。本文将详细介绍如何安装配置使用GitPuk、sourcefare、Arbess系统,使用流水线拉取GitPuk源码、使用sourcefare代码扫描、构建安装包并进行主机部署。 1、GitPuk 安装…

算法,蒜鸟蒜鸟-P1-理解“双指针”

欢迎来到啾啾的博客🐱。 记录学习点滴。分享工作思考和实用技巧,偶尔也分享一些杂谈💬。 有很多很多不足的地方,欢迎评论交流,感谢您的阅读和评论😄。 目录引言1 双指针:Two Pointers1.1 左右指…

使用cookiecutter创建python项目

一、关于Python项目结构Python 项目并没有完全统一的 “固定结构”,但行业内有一些广泛遵循的约定俗成的目录结构(尤其针对可分发的包或大型项目)。同时,确实有工具可以快速生成这些标准化结构,提高开发效率&#xff0…