科研绘图教程 05 | 有代码!默念Catppuccin口诀,手里的Matplotlib竟变得更加光鲜亮丽!

文摘   2024-11-09 22:15   新加坡  
点击订阅公众号 | 前沿学术成果每日更新               

目录:

  • 全文速览

  • 一、Catppuccin简介

  • 二、Catppuccin在Python绘图中的应用

    • 1. 支持的绘图库

    • 2. 安装方法

    • 3. 在Matplotlib中使用Catppuccin

  • 三、Catppuccin配色方案详解

    • 1. 示例颜色

    • 2. 应用颜色

  • 四、优势与应用场景

  • 五、注意事项

  • 六、matplotlib美化的示例

全文速览

数据可视化的过程中,美观的配色方案可以大大提升图表的可读性和专业性。Catppuccin是一套备受欢迎的柔和色彩主题,被广泛应用于编辑器、终端和各种应用程序。近期,Catppuccin也推出了针对Python绘图库的样式支持,使得开发者可以在Matplotlib、Seaborn等库中轻松应用这一美观的配色方案。本文将详细介绍Catppuccin绘图样式库的特点、安装方法以及在Python中的实际应用。

下图是Matplotlib传统样式进行Catppuccin美化后

一、Catppuccin简介

Catppuccin是一套以咖啡饮品为灵感的柔和、中性色调的配色方案。其目标是提供一种既美观又护眼的配色,减少长时间注视屏幕对眼睛的疲劳。Catppuccin的配色方案包括了多种颜色,适用于代码高亮、界面主题以及数据可视化等场景。

Catppuccin的特点

  • 柔和的色彩:避免了高对比度和过于鲜艳的颜色,减轻视觉疲劳。
  • 一致性:在不同的应用和平台上保持一致的色彩体验。
  • 多种风格:提供了多个变体,如Latte、Frappe、Macchiato和Mocha,满足不同用户的喜好。
  • 社区驱动:由社区贡献和维护,持续更新和完善。

二、Catppuccin在Python绘图中的应用

1. 支持的绘图库

  • Matplotlib:Python最基础的绘图库,Catppuccin提供了定制的样式表。
  • Seaborn:基于Matplotlib的高级绘图库,能够直接继承Matplotlib的样式。
  • Plotly:交互式绘图库,可通过自定义颜色参数应用Catppuccin的配色。

2. 安装方法

Catppuccin的绘图样式库通常以Python包或样式文件的形式提供。以下是安装步骤:

方法一:通过pip安装

pip install catppuccin

方法二:手动下载样式文件

  1. 访问Catppuccin的GitHub仓库。
  2. 找到针对Matplotlib或其他绘图库的样式文件。
  3. 下载样式文件(通常以.mplstyle为后缀)。
  4. 将样式文件放置在Matplotlib的样式目录下,或者指定样式文件的路径。

3. 在Matplotlib中使用Catppuccin

import catppuccin
import matplotlib as mpl
import matplotlib.pyplot as plt

mpl.style.use(catppuccin.PALETTE.mocha.identifier)
plt.plot([0,1,2,3], [1,2,3,4])
plt.show()

如果样式文件不在默认路径,可以指定完整路径:

三、Catppuccin配色方案详解

Catppuccin提供了四种主要的风格,每种风格都有一套对应的颜色:

  1. Latte:明亮主题,适合光照充足的环境。
  2. Frappe:稍暗的主题,介于明亮和暗色之间。
  3. Macchiato:暗色主题,柔和的暗色调。
  4. Mocha:深色主题,适合夜间或暗光环境。

每种风格都有一组预定义的颜色,涵盖了主色、强调色、背景色等,方便在不同场景下使用。

1. 示例颜色

  • Rosewater

  • Flamingo

  • Pink

  • Mauve

  • Red

  • Maroon

  • Peach

  • Yellow

  • Green

  • Teal

  • Sky

  • Sapphire

  • Blue

  • Lavender

2. 应用颜色

在实际应用中,可以根据需求选择适合的颜色。例如:

  • 数据系列:为不同的数据系列选择不同的主色,确保图表的辨识度。
  • 背景和网格:使用柔和的背景色和网格线颜色,减少对数据的干扰。
  • 文本和标注:选择对比度适中的颜色,保证可读性。

四、优势与应用场景

  1. 提升图表美观度:Catppuccin的配色方案经过精心设计,能够使得图表看起来更加专业和美观,给观众留下良好的视觉印象。

  2. 减轻视觉疲劳:柔和的色彩有助于减轻长时间观看图表带来的视觉疲劳,特别是在数据分析和报告展示中。

  3. 统一的视觉风格:在项目中统一使用Catppuccin的配色,可以保持视觉风格的一致性,提升整体的专业性。

  4. 适用于多种领域:无论是学术研究、商业报告还是数据科学项目,Catppuccin的配色都能很好地适应,满足不同领域的需求。

五、注意事项

  • 兼容性:确保您使用的Matplotlib或其他绘图库版本与Catppuccin样式库兼容。
  • 自定义调整:虽然Catppuccin提供了默认的配色,但根据实际需求,可能需要进行一些自定义调整。
  • 版权和许可:Catppuccin通常遵循MIT许可证,使用时请注意遵守相关的版权规定。

六、matplotlib美化的示例

让我们先生成一些合成数据。我决定使用每个库制作 4 个子图,这样您就可以在同一种数据上进行比较。下面是关键代码:

import matplotlib
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns

def scatter():
  x = np.random.random(100)
  y = x-np.random.random(100)
  z = np.random.randint(0,4,100)
  df = pd.DataFrame({'X':x, 'Y': y, 'Z':z})
  return df

def line():
  x = np.arange(0,10,0.1)
  y_1 = np.sin(x)
  y_2 = np.sin(x+5)
  y_3 = np.sin(x+10)
  y_4 = np.sin(x+15)
  y_5 = np.sin(x+20)
  df = pd.DataFrame({'X':x,'y_1':y_1, 'y_2':y_2, 'y_3':y_3, 'y_4':y_4, 'y_5':y_5})
  return df

def hist():
  x_1 = np.random.normal(1,0.1,1000)
  x_2 = np.random.gamma(1,0.25,1000)
  x_3 = np.random.normal(0.40.1,1000)
  x_4 = np.random.normal(-0.10.3,1000)

  df = pd.DataFrame({'X_1': x_1, 'X_2':x_2, 'X_3': x_3, 'X_4':x_4})
  return df

调用这几个函数,就能得到传统样式的图表:

image-20241109215054543

导入Catppuccin,再次调用函数进行绘图,就得到


image-20241026200635564image-20241022191312573

🌟关于该实验的完整代码🌟

首先非常感谢朋友们对我的文章和公众号的支持!非常高兴能和大家分享一些文献和机器学习相关信息。如果你觉得这篇文章对你有帮助,并对完整的代码感兴趣,两步就可以得到这份代码啦:1)将我的公众号文章(任一)分享到朋友圈,并收集到10个赞;2)完成后,请将分享截图后台私信给我想要的代码并留下邮箱,后续将发送完整的实验代码给您作为感谢。

这样不仅可以帮助更多的人获得有价值的信息,也能鼓励我继续创作出更多优质内容。感谢你的支持与理解,期待你的截图哦!😊

               

               

声明:本公众号分享的前沿学术成果来源于各学术网站,不依法享有其所有权。若原作者发现本次分享中的文字及图片涉及侵权,请立刻联系公众号后台或发送邮件,我们将及时修改或删除!         

邮箱:environmodel@sina.com         

若您认为有用,欢迎

Environmodel设为星标,或

点击“在看”或“分享”给他人

Environmodel
Environmodel(环境模型)专注于环境科学与工程领域的建模及模型研究进展,并分享涵盖机器学习、深度学习以及人工智能等相关领域的理论知识、主流工具和Python编程技巧。
 最新文章