matplotlib绘图风格
文章目录
- 绘图风格
- 测试代码
- 默认和mpl风格
- 复制风格
- seaborn风格
绘图风格
matplotlib功能强大,可以定制各种绘图要素,以满足个性化的绘图需求,而更换绘图风格也十分便捷,一个matplotlib.style.use函数轻松搞定,而可用的绘图风格,可调用matplotlib.style.available列表得到,共有如下风格
- matplotlib风格: ‘_mpl-gallery’, ‘_mpl-gallery-nogrid’
- 更改较少的配色:‘fast’, ‘_classic_test_patch’
- 经典配色:‘classic’, ‘grayscale’, ‘dark_background’
- 复刻配色:‘‘ggplot’, ‘bmh’, Solarize_Light2’, ‘fivethirtyeight’, ‘tableau-colorblind10’
- seaborn风格: ‘seaborn-v0_8’, ‘seaborn-v0_8-bright’, ‘seaborn-v0_8-colorblind’, ‘seaborn-v0_8-dark’, ‘seaborn-v0_8-dark-palette’, ‘seaborn-v0_8-darkgrid’, ‘seaborn-v0_8-deep’, ‘seaborn-v0_8-muted’, ‘seaborn-v0_8-notebook’, ‘seaborn-v0_8-paper’, ‘seaborn-v0_8-pastel’, ‘seaborn-v0_8-poster’, ‘seaborn-v0_8-talk’, ‘seaborn-v0_8-ticks’, ‘seaborn-v0_8-white’, ‘seaborn-v0_8-whitegrid’,
测试代码
下面将这些风格一一展示,考虑到这些绘图风格其实只是更改部分绘图参数,所以在更改风格之前,需要先恢复为默认绘图风格,绘图代码如下
import numpy as np
import matplotlib.pyplot as plt
import matplotlibdef draw(style=None):matplotlib.style.use('default')matplotlib.style.use(style)xs = np.linspace(-5,5,100)yL = xs/5ys = np.sin(xs)yc = np.cos(xs)plt.figure(figsize=(6,3))plt.plot(xs, ys)plt.plot(xs, yc)plt.plot(xs, yL, ls='--', marker='*')plt.title(style)plt.tight_layout()plt.show()draw('default')
默认和mpl风格
所谓mpl,即matplotlib,颇有种官方的意味,故而先展示这三种绘图风格,默认的蓝橘绿配色大家其实都很熟悉了。

mpl风格如下
| draw(‘_mpl-gallery’) | draw(‘_mpl-gallery-nogrid’) |
|---|---|
![]() | ![]() |
除了"default"之外,“fast"和”_classic_test_patch"似乎并不会修改太多绘图元素,由于在测试代码中,所有风格都在default之后执行,从而绘制结果与default十分相似
![]() | ![]() |
matplotlib提供了classic和灰阶配色,这两个看上去十分古老,尤其是classic,颇有种上个世纪的特点。
![]() | ![]() |
最后,matplotlib还提供了夜间模式,暗黑配色如下

复制风格
ggplot就是那个大名鼎鼎的R语言绘图工具;bmh,则是Bayesian Methods for Hackers,是一本介绍贝叶斯理论的书籍,感觉这本书貌似也用的ggplot绘图
| ggplot | bmh |
|---|---|
![]() | ![]() |
fivethirtyeight俗称538,是美国民调网站,"fivethirtyeight"模仿了这个网站的配色。
Solarized是比较经典的终端配色方案,"Solarize_Light2"复刻了其中一种配色方案。
tableau是一个数据可视化软件,我并没有用过,"tableau-colorblind10"应该是从tableau中模仿的配色方案。
![]() | ![]() |
seaborn风格
作为matplotlib的中坚补充包,seaborn的审美还是比较在线的,matplotlib中提供了几乎seaborn中的所有绘图风格,而且不多不少刚好16个,下面统一绘制这些seaborn风格图像,代码如下
ss = [a for a in matplotlib.style.available if "seaborn" in a]xs = np.linspace(-5,5,100)
yL = xs/5
ys = np.sin(xs)
yc = np.cos(xs)fig = plt.figure(figsize=(14,8))
for i,s in enumerate(ss, 1):ax = fig.add_subplot(4,4,i)matplotlib.style.use('default')matplotlib.style.use(s)ax.plot(xs, ys, label="sin")ax.plot(xs, yc, label="cos")ax.plot(xs, yL, label="line", ls='--', marker='*')plt.title(s)plt.legend()plt.tight_layout()
plt.show()

相关文章:
matplotlib绘图风格
文章目录 绘图风格测试代码默认和mpl风格复制风格seaborn风格 绘图风格 matplotlib功能强大,可以定制各种绘图要素,以满足个性化的绘图需求,而更换绘图风格也十分便捷,一个matplotlib.style.use函数轻松搞定,而可用的…...
【初级教程】Appium 启动应用 log 日志分析
刚开始学习 appium 时,老师给我布置了 appium 启动应用 log 分析的作业。由于工作比较忙,再者自己想先动手用 appium 写个公司的 app 的 UI 测试(目前简单的框架基本完成,在不断完善用例管理中)。写这篇文章是为了完成…...
FANUC机器人SRVO-300机械手断裂故障报警原因分析及处理办法
FANUC机器人SRVO-300机械手断裂故障报警原因分析及处理办法 首先,我们查看报警说明书上的介绍: 总结:即在机械手断裂设置为无效时,机器人检测出了机械手断裂信号(不该有的信号,现在检测到了,所以报警) 使机械手断裂设定为无效/有效的具体方法: 按下示教器的MENU菜单…...
MobPush iOS SDK iOS实时活动
开发工具:Xcode 功能需要: SwiftUI实现UI页面,iOS16.1以上系统使用 功能使用: 需应用为启动状态 功能说明 iOS16.1 系统支持实时活动功能,可以在锁定屏幕上实时获知各种事情的进展,MobPushSDK iOS 4.0.3版本已完成适配…...
c++开发模式,组合模式
组合模式,顾名思义,通过组合关系定义类间的关联关系,实现了将对象组合成树形结构,最终实现类的复用。可能是由于设计模式看的多了,初看组合模式的类图,感觉和装饰者模式类图很相似,都是使用继承…...
【GITHUB】FlipIt – Windows的开源翻页时钟
FlipIt 是一款免费开源的翻页时钟应用,专为 Windows 平台设计。该应用灵感来源于备受喜爱的老牌翻页时钟应用 Fliqlo,后者被公认为经典的翻页时钟屏保。然而,由于 Fliqlo 是基于 Flash 技术开发的,随着微软最近正式禁用 Flash&…...
基于 Flink Paimon 实现 Streaming Warehouse 数据一致性管理
摘要:本文整理自字节跳动基础架构工程师李明,在 Apache Paimon Meetup 的分享。本篇内容主要分为四个部分: 背景 方案设计 当前进展 未来规划 点击查看原文视频 & 演讲PPT 一、背景 早期的数仓生产体系主要以离线数仓为主…...
云游戏App简记
注:在安卓手机端使用。其他端不做分析。 App手机游戏PC和主机游戏免费时长(手机游戏)是否排队备注咪咕快游支持。数量一般,和腾讯还有合作,有不少腾讯的游戏支持每日登录签到送30-60分钟,当天失效…...
ChatGPT已打破图灵测试,新的测试方法在路上
生信麻瓜的 ChatGPT 4.0 初体验 偷个懒,用ChatGPT 帮我写段生物信息代码 代码看不懂?ChatGPT 帮你解释,详细到爆! 如果 ChatGPT 给出的的代码不太完善,如何请他一步步改好? 全球最佳的人工智能系统可以通过…...
Flask学习笔记_异步CMS(五)
Flask学习笔记_异步CMS(五) 1.环境1.安装nvm2.安装node 2.使用vue-cli创建项目3.安装相关插件4.后台CMS开发1.页面结构1.app.vue搭建结构2.element-icon组件的使用3.iconfont组件的使用 2.使用[Vue-router](https://router.vuejs.org/installation.html)…...
争夺年度智能汽车「中间件」方案提供商TOP10,谁率先入围
进入2023年,整车电子架构升级进入新周期,无论是智能驾驶、智能座舱、车身控制还是信息网络安全,软件赋能仍是行业的主旋律。 作为智能汽车赛道的第三方研究咨询机构,高工智能汽车研究院持续帮助车企、投资机构挖掘具备核心竞争力…...
【Spring Cloud一】微服务基本知识
系列文章目录 微服务基本知识 系列文章目录前言一、系统架构的演变1.1单体架构1.2分层架构1.3分布式架构1.4微服务架构1.5分布式、SOA、微服务的异同点 二、CAP原则三、RESTfulRESTful的核心概念: 四、共识算法 前言 在实际项目开发过程中,目前负责开发…...
swift - 如何在数组大小更改后刷新 ForEach 显示元素的数量(SwiftUI、Xcode 11 Beta 5)
我正在尝试实现一个 View ,该 View 可以在内容数组的大小发生变化时更改显示项目的数量(由 ForEach 循环创建),就像购物应用程序可能会在用户下拉刷新后更改其可用项目的数量一样 这是我到目前为止尝试过的一些代码。如果我没记错的话,这些适…...
编程导航算法村第七关 |二叉树的遍历
编程导航算法村第七关 | 二叉树的遍历 前序遍历(递归) public List<Integer> preorderTraversal(TreeNode root) {ArrayList<Integer> result new ArrayList<Integer>();preorder(root, result);return result;}public void preorde…...
【docker】docker-compose安装带ui页面的kafka集群
docker-compose 安装带kafka-ui 的kafka集群 在日常的工作当中,kafka集群作为常用的中间件,其搭建过程略显繁琐,需要配置的文件颇多,为了方便各位初学者快速体验kafka的魅力,本文采取一键式安装kafka-3.3.1࿰…...
java实现多级菜单
/** * 查询所有菜单 */ public BaseWebResponse<Object> getAllMenus() { List<SystemMenuInfo> systemMenuInfoList menuInfoMapper.getAllMenus(); List<SystemMenuInfo> menuTree buildMenuTree(systemMenuInfoList); return setResultSuccess(&q…...
HTML中元素和标签有什么区别?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 标签(Tag)⭐元素(Element)⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&a…...
android 如何分析应用的内存(十三)——perfetto
android 如何分析应用的内存(十三) 本篇文章是native内存的最后一篇文章——perfetto perfetto简介 从2018年始,android开发者峰会正式推出perfetto工具。从此perfetto成为安卓最重要的工具之一。在2018年以前,android使用syst…...
Chapter20 音乐
目录 音乐 琴键 哆来咪 振动与调式 利萨如曲线 和声与音调与和弦 音乐 在音乐理论中,一个八音度(octave)是一个频率范围相差二倍的区间。在大多数西洋乐器中,一个八音度被分为12个频率比相等的半音程(semitone&a…...
详解Nodejs中的模块化
Nodejs是一个基于Chrome V8引擎的JavaScript运行时环境,它允许开发者使用JavaScript在服务器端运行代码。在Nodejs中,模块化是一种组织和重用代码的重要方式。模块化允许我们将代码拆分成小块,使得代码结构更清晰、易于维护,并促进…...
OpenClaw技能市场探索:Qwen2.5-VL-7B专用图文处理工具推荐
OpenClaw技能市场探索:Qwen2.5-VL-7B专用图文处理工具推荐 1. 为什么需要为Qwen2.5-VL-7B选择专用技能? 当我第一次将Qwen2.5-VL-7B多模态模型接入OpenClaw时,发现一个有趣的现象:这个能理解图片和文本的模型,在默认…...
终极jPlayer部署指南:从开发到生产环境的完整流程
终极jPlayer部署指南:从开发到生产环境的完整流程 【免费下载链接】jPlayer jPlayer : HTML5 Audio & Video for jQuery 项目地址: https://gitcode.com/gh_mirrors/jp/jPlayer jPlayer是一款基于jQuery的HTML5音频/视频库,能够帮助开发者创建…...
REFramework:游戏启动崩溃问题的系统化解决方案
REFramework:游戏启动崩溃问题的系统化解决方案 【免费下载链接】REFramework Mod loader, scripting platform, and VR support for all RE Engine games 项目地址: https://gitcode.com/GitHub_Trending/re/REFramework 问题诊断:当游戏启动遇到…...
5分钟掌握Switch破解神器TegraRcmGUI:新手也能轻松上手的图形化注入教程
5分钟掌握Switch破解神器TegraRcmGUI:新手也能轻松上手的图形化注入教程 【免费下载链接】TegraRcmGUI C GUI for TegraRcmSmash (Fuse Gele exploit for Nintendo Switch) 项目地址: https://gitcode.com/gh_mirrors/te/TegraRcmGUI 还在为Switch破解的复杂…...
视频文件损坏如何修复?基于Untrunc的专业数据恢复方案
视频文件损坏如何修复?基于Untrunc的专业数据恢复方案 【免费下载链接】untrunc Restore a damaged (truncated) mp4, m4v, mov, 3gp video. Provided you have a similar not broken video. 项目地址: https://gitcode.com/gh_mirrors/unt/untrunc 问题诊断…...
一文搞懂RAG分块技术:提升大模型准确性的关键(建议收藏)
文本分块(Chunking)是决定 RAG(检索增强生成)系统成败的核心技术之一,却常常在幕后默默发挥作用。简单来说,分块就是把长文档切分成更小、结构化的片段,让 AI 系统能够真正检索和推理。 分块可以…...
vLLM-v0.17.1环境快速部署:Windows系统下Python与CUDA配置详解
vLLM-v0.17.1环境快速部署:Windows系统下Python与CUDA配置详解 1. 前言:为什么选择vLLM? 如果你正在Windows系统上探索大语言模型的高效推理方案,vLLM绝对值得关注。这个由加州大学伯克利分校团队开发的开源项目,以其…...
算术运算符(i++与++i)
i与i在独立使用时结果一致;作为表达式使用时:j 8(1)k j 等于 j j1,再k j 。先自增,再赋值 ,j9,k9(2) k j 等于 k j,再j j1 。先赋值&#…...
2026年OpenClaw(Clawdbot)华为云1分钟本地超简单安装及使用方法【超全】
2026 OpenClaw怎么部署?还在为部署OpenClaw到处找教程踩坑吗?别再瞎折腾了!OpenClaw一键部署攻略来了,无需代码、只需两步,新手小白也能轻松拥有专属AI助理! 一、先搞懂:OpenClaw是什么&…...
DAMOYOLO-S赋能工业视觉:基于OpenCV的自动化零件缺陷检测方案
DAMOYOLO-S赋能工业视觉:基于OpenCV的自动化零件缺陷检测方案 在工业制造的生产线上,零件质检一直是个让人头疼的活儿。传统的人工目检,不仅效率低下,容易受工人疲劳、经验差异影响,导致漏检、误判,而且成…...










