揭秘最酷的Matplotlib 风格库!

相信大家对Matplotlib多少有些了解,对于数据研究,最终的研究结果都尽可能利用可视化呈现,使其更加直观通俗易懂。而Matplotlib作为python家族中最为著名的绘图工具,其风格实在是有些无聊,有时会让人觉得科研工作者在可视化方面没有下太多时间精力。最近在Github上我发现了一系列python库,可以用来美化Matplotlib图表。对于理工男,可以说是效果相当惊艳!

1. Aquarel

它是一个样式表的包装器,Aquarel封装了 Matplotlibs,样式表所能做的一切事情都可以用Aquarel来实现。

通过pip安装:

python -m pip install aquarel

建议大家使用上下文管理器的方式应用Aquarel

from aquarel import load_theme
with load_theme("arctic_light"):    figure = # ... plotting code here

这个库除了加载模板的12个主题外,还支持创建主题。下面展示几个模板的主题。本人最喜欢的三个主题(arctic_dark、boxy_light、gruvbox_light)

图片

图片

图片

2. Rosé Pine

它是一款由天然松木、仿毛皮和一点Soho风格组成的经典简约主题,能为你带来独特的视觉享受。

用法:

  • 使用 matplotlib.get_configdir() 查找 mpl_configdir/stylelib

  • 将主题文件夹中的主题放入mpl_configdir/stylelib

  • 在脚本中使用 plt.style.use('rose-pine') 设置首选样式

plt.style.use('./themes/rose-pine-moon.mplstyle')

三个模板非常惊艳(玫瑰松、玫瑰松月、玫瑰松黎明)

图片

图片

图片

图片

3. Mplcyberpunk

每个钟爱赛博朋克风的人都应该拥有一个Mplcyberpunk!

安装:

pip install mplcyberpunk

导入包后,赛博朋克样式表(深色背景等)可通过 获得plt.style.use。通过调用 添加线条发光和“底光”效果add_glow_effects:

import matplotlib.pyplot as pltimport mplcyberpunk
plt.style.use("cyberpunk")
plt.plot([1, 3, 9, 5, 2, 1, 1], marker='o')plt.plot([4, 5, 5, 7, 9, 8, 6], marker='o')
mplcyberpunk.add_glow_effects()plt.show()

图片

图片

图片

4. Catppuccin

Catppuccin 是一款社区驱动的柔和色调主题,旨在成为低对比度和高对比度主题之间的中间地带。它包含 4 种舒缓的暖色调,每种都有 26 种赏心悦目的颜色,非常适合编码、设计等!

图片

5. GruvBox

Gruvbox以其明亮的色彩搭配,柔和的“复古节奏”色调以及类似solarized的明暗切换方式脱颖而出。

图片

图片

使用方法:请将文件 gruvbox.mplstyle 放入您正在使用的文件夹中,然后插入以下行:

import matplotlib.pyplot as pltplt.style.use('gruvbox.mplstyle')

6. Matlotx

这个包包含一些有用或漂亮的 Matplotlib 扩展。大多数这些功能都可以基于 Matplotlib 实现。

安装和使用:

pip install matplotx[all]  # 安装import matplotx      # 在python中引入

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/31172.shtml

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

相关文章

React中的JSX应该怎么用

什么是JSX JSX Javascript XML,JSX是一个 JavaScript 的语法扩展。 JSX可以很好地描述 UI 应该呈现出它应有交互的本质形式并且其完全可以和JavaScript融合在一起使用。而且具有 JavaScript 的全部功能。JSX 可以生成 React “元素”。 JSX代码示例: …

MicroBlaze IP核中Local Memory Bus (LMB)接口描述

LMB(Local Memory Bus)是一种同步总线,主要用于访问FPGA上的块RAM(Block RAM,BRAM)。LMB使用最少的控制信号和一个简单的协议,以保证块RAM能在一个时钟周期内被存取。所有的LMB信号都是高电平有…

【服务器03】之【Navicat完整版破解】

首先清掉电脑所有Navicat组件 虽然被卸载掉了但是没有彻底清理掉Navicat组件 在原装盘里找到Navicat清楚碎片 清空之后开始下载 navicat16 https://www.alipan.com/s/GTvP93mn3sU 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需…

AI Workflow的敏捷开发:持续创新与优化的艺术

在人工智能的浪潮中,AI Workflow作为大模型落地的关键实践,正逐渐成为技术领域的新宠。然而,随着技术的发展,我们面临着一系列挑战,如何有效地应对这些挑战,实现AI Workflow的敏捷开发,成为了一…

fyne的VBox布局02

VBox布局02 最常用的布局是layout.BoxLayout,它有两种变体,水平和垂直。box布局将所有元素排列在单行或单列中,并带有可选的空格以帮助对齐。 一步一步实现一个如下界面布局,这个界面可以使用VBox布局来实现。 这次添加了2个复…

【C语言】自定义类型

目录 一、结构体: 1、结构体的声明: 2、结构体的自引用: 3、结构体变量的定义和初始化: 4、结构体内存对齐: 5、结构体传参: 6、位段: 二、枚举类型: 三、联合体&#xff1a…

【设计模式深度剖析】【10】【行为型】【状态模式】

👈️上一篇:访问者模式 | 下一篇:解释器模式👉️ 设计模式-专栏👈️ 文章目录 状态模式定义英文定义直译如何理解呢? 状态模式的角色Context(环境类)State(抽象状态类)Concret…

Java | Leetcode Java题解之第169题多数元素

题目: 题解: class Solution {public int majorityElement(int[] nums) {int count 0;Integer candidate null;for (int num : nums) {if (count 0) {candidate num;}count (num candidate) ? 1 : -1;}return candidate;} }

Netdata介绍

前言 Netdata是一款用于Linux系统的实时性能监测工具,它提供了web界面的视角,使得用户可以通过可视化的方式清晰地了解系统和应用程序的实时状态。 Netdata具有以下几个显著特点: 实时性:Netdata能够实时监测系统和应用程序的性…

Android-Android Studio-FAQ

1 需求 2 接口 3 Android Studio xml布局代码补全功能失效问题 最终解决方案就是尝试修改compileSdk 为不同SDK版本来解决问题,将原本34修改为32测试会发现xml代码补全功能有效了! 参考资料 Android Studio xml布局代码补全功能失效问题_android studi…

电压调整+无功优化!考虑泄流效应的风电场并网点电压系统侧增援调控方法程序代码!

前言 在发电侧能源结构转型的背景下,中国在可再生能源发电技术上的快速发展使得电网中风电并网比例不断增大。风能资源的有效利用缓解了电力紧张,但由于风速的不确定性,风电场引起的公共耦合点(point of common coupling&#xf…

vue3项目使用Electron打包成exe的方法与打包报错解决

将vue3项目打包成exe文件方法 一、安装 1.安装electron npm install electron --save-devnpm install electron-builder --save-dev 2.在vue项目根目录新建文件index.js // index.js// Modules to control application life and create native browser window const { app…

Map-JAVA面试常问

1.HashMap底层实现 底层实现在jdk1.7和jdk1.8是不一样的 jdk1.7采用数组加链表的方式实现 jdk1.8采用数组加链表或者红黑树实现 HashMap中每个元素称之为一个哈希桶(bucket),哈希桶包含的内容有以下4项 hash值(哈希函数计算出来的值) Key value next(…

基于SSM+Jsp的水果销售管理网站

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…

Linux 五种IO模型

注:还有一种信号驱动IO,使用较少暂不讨论; 一,区分阻塞、非阻塞和同步、异步 看了很多文章对这两组概念解释和对比,说的太复杂了,其实没必要,两句话就能说清楚。 首先,对于读数据rec…

探索监管沙箱在金融科技行业中的应用

一、引言 随着金融科技的快速发展,传统金融机构与科技企业之间的竞争也日趋激烈。为了平衡金融科技创新与风险防控,各国监管机构纷纷引入监管沙箱(Regulatory Sandbox)机制。监管沙箱作为一个受监督的安全测试区,允许金…

Linux字节对齐小程序

#include <stdio.h> // 默认对齐 struct DefaultAligned { char c; int i; }; // 按1字节对齐 #pragma pack(push, 1) struct OneByteAligned { char c; int i; }; #pragma pack(pop) // 恢复之前的对齐设置 int mai…

Python日志管理利器:如何高效管理平台日志

一、为什么需要日志管理&#xff1f; 日志是应用程序的重要组成部分&#xff0c;它记录了应用程序的运行状态、错误信息以及用户交互等关键信息。良好的日志管理可以帮助开发人员及时发现和解决问题&#xff0c;提高应用程序的稳定性和可靠性。 项目在本地开发调试时&#xf…

基于Sringboot+Vue的校园招聘系统【原创】【开源】

浏览器&#xff1a;Chrome或360浏览器 系统环境配置 前置条件&#xff1a;系统已经安装了Mysql5.7、Mysql工具&#xff08;Navicat&#xff09;、JDK1.8、Maven3.6.1、vue3.0以下开发环境、 Intellij Idea、 Chrome或360浏览器 1、导入数据库 2、编译前端代码vue 编译&…

HTML播放flv

页面效果&#xff1a; 代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" …