查看原文
其他

当Matplotlib遇见漂亮的aquarel~

The following article is from pythonic生物人 Author pythonic生物人

aquarel可轻松拯救matplotlib丑陋的默认出图,提供多种绘图浅色light和深色weight绘图主题,极大丰富matplotlib的plt.style库。

aquarel安装

pip install aquarel

aquarel效果

aquarel目前支持11种绘图主题,支持自定义,

arctic_dark
arctic_light
boxy_dark
boxy_light
gruvbox_dark
gruvbox_light
minimal_dark
minimal_light
scientific
umbra_dark
umbra_light

展示一下主题效果,

arctic_dark和boxy_dark主题
scientific和arctic_light主题
gruvbox_light和umbra_light主题

效果还是很棒的~


aquarel使用

aquarel使用有两种方法

  • 方法1、全局设置

如果你打开了一个jupyter notebook,通过以下代码使用aquarel的arctic_light主题,那么整个notebook中绘图都是arctic_light主题,

from aquarel import load_theme

theme = load_theme("arctic_light")
theme.apply()
# 在这里添加绘图代码
theme.apply_transforms()
  • 方法2、临时设置

如果你打开了一个jupyter notebook,通过以下代码使用aquarel的arctic_light主题,那么只有当前notebook中当前cell使用了arctic_light主题,不影响其它cell,

from aquarel import load_theme

with load_theme("arctic_light"):
    #在这里添加绘图代码

下面以方法1,简单举两个例子,

未使用aquarel主题,matplotlib默认图表,

例子1,使用arctic_light主题,

from aquarel import load_theme
import matplotlib.pyplot as plt
import numpy as np
theme = load_theme("arctic_light"#调用aquarel中的'arctic_dark'
plt.figure(figsize=(126))

# 创建数据
np.random.seed(10)
data_boxplot = [np.random.normal(0, std, 100for std in range(15)]
data_lineplot = [np.cumsum(np.random.randn(100)) for _ in range(4)]

#调用aquarel
theme.apply()
plt.subplot(121)
plt.boxplot(data_boxplot)
plt.xticks([1234], ['Group 1''Group 2''Group 3''Group 4'])
plt.title('arctic_light')

plt.subplot(122)
for i, line_data in enumerate(data_lineplot):
    plt.plot(line_data, label=f'Line {i+1}')
plt.title('arctic_light')

plt.legend()
theme.apply_transforms()
plt.tight_layout()
plt.show()

例子2,使用arctic_dark主题,

from aquarel import load_theme
import matplotlib.pyplot as plt
import numpy as np
theme = load_theme("arctic_dark"#调用aquarel中的'arctic_dark'
plt.figure(figsize=(126))

# 创建数据
np.random.seed(10)
data_boxplot = [np.random.normal(0, std, 100for std in range(15)]
data_lineplot = [np.cumsum(np.random.randn(100)) for _ in range(4)]

#调用aquarel
theme.apply()
plt.subplot(121)
plt.boxplot(data_boxplot)
plt.xticks([1234], ['Group 1''Group 2''Group 3''Group 4'])
plt.title('arctic_dark'

plt.subplot(122)
for i, line_data in enumerate(data_lineplot):
    plt.plot(line_data, label=f'Line {i+1}')
plt.title('arctic_dark')
plt.legend()
theme.apply_transforms()
plt.tight_layout()
plt.show()

参考:https://aquarel.readthedocs.io/en/latest/?badge=latest


推荐阅读  点击标题可跳转

1、数据挖掘+机器学习常用图表!

2、Python Matplotlib 实用小技巧!

3、40000 字!全网最强 Matplotlib 实操指南!

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存