Matplotlib基础-样式表

Matplotlib库 由于诞生的比较早,所以其默认的显示样式很难符合现在的审美,这也是它经常为人诟病的地方。

不过,经过版本更迭之后,现在 Matplotlib 已经内置了很多样式表,

通过使用不同的样式表,可以整体改变绘制图形的风格,不用再调整一个个显示参数。

1. 样式表的使用

1.1. 所有内置样式表

首先,查看内置的样式表有哪些:

python 复制代码
import matplotlib.pyplot as plt

plt.style.available

1.2. 使用样式表的方式

使用样式表的方式有两种:

一种是全局样式表设置,比如:

python 复制代码
plt.style.use("ggplot")

随后的代码中,所有绘制的图形都是 ggplot 风格。

另一种局部样式表设置,比如:

python 复制代码
with plt.style.context("classic"):
    # 绘制图形
    pass

这种方式,样式表只在 with 范围内生效。

2. 不同样式表的效果

下面演示几种风格差异比较大的样式表。

首先,封装一个绘制图形的函数。

python 复制代码
def draw():
    x = np.array(range(10))
    y = np.random.randint(10, 100, 10)
    
    fig = plt.figure(figsize=[6,4])
    fig.add_subplot(211)
    plt.plot(x, y)
    
    fig.add_subplot(212)
    plt.hist(y)

2.1. classic 风格

python 复制代码
with plt.style.context("classic"):
    draw()

2.2. Solarize_Light2 风格

python 复制代码
with plt.style.context("Solarize_Light2"):
    draw()

2.3. bmh 风格

python 复制代码
with plt.style.context("bmh"):
    draw()

2.4. dark_background 风格

python 复制代码
with plt.style.context("dark_background"):
    draw()	

2.5. fast 风格

python 复制代码
with plt.style.context("fast"):
    draw()

2.6. ggplot 风格

python 复制代码
with plt.style.context("ggplot"):
    draw()

2.7. seaborn 风格

seaborn是公认颜值比较高的绘图库,所以 Matplotlib 也支持很多种seaborn风格。

这里使用的是默认的 seaborn 风格。

python 复制代码
with plt.style.context("seaborn-v0_8"):
    draw()

3. 总结

内置的样式表方便易用,提供了许多预定义的样式,可以快速帮助我们创建美观的图表。

使用内置的样式表还有个好处是可以保持图表的统一风格,使得图表具有更高的可读性和可维护性。

Matplotlib提供的丰富的样式表,可以满足不同类型的绘图需求,并且还可以通过自定义样式表来实现更加个性化的绘图效果。

相关推荐
2601_954971132 小时前
2026运营岗想转数据分析怎样快速实现转型?
信息可视化·数据挖掘·数据分析
源码之家3 小时前
计算机毕业设计:Python农产品销售数据可视化分析系统 Django框架 数据分析 可视化 大数据 大模型 机器学习(建议收藏)✅
python·信息可视化·数据分析·django·flask·课程设计
源码之家6 小时前
计算机毕业设计:Python渔业资源数据可视化分析大屏 Flask框架 数据分析 可视化 数据大屏 大数据 机器学习 深度学习(建议收藏)✅
人工智能·python·信息可视化·数据挖掘·数据分析·flask·课程设计
源码之家8 小时前
计算机毕业设计:Python降水量分析与预警平台 Flask框架 数据分析 可视化 大数据 AI 大模型 爬虫 数据大屏(建议收藏)✅
人工智能·python·信息可视化·数据分析·django·flask·课程设计
源码之家8 小时前
计算机毕业设计:Python农业与气候数据可视化分析系统 Django框架 数据分析 可视化 爬虫 机器学习 大数据 深度学习(建议收藏)✅
大数据·python·机器学习·信息可视化·数据分析·django·课程设计
Mr数据杨17 小时前
加州房价中位数预测在房地产估值中的应用
机器学习·数据分析·kaggle
只说证事18 小时前
会计岗位向管理会计升级,最该补哪些数据分析技能
数据库·数据挖掘·数据分析
MeAT ITEM19 小时前
爬虫基础之爬取某基金网站+数据分析
爬虫·数据挖掘·数据分析
Mr数据杨1 天前
面部表情识别在心理健康辅助评估中的应用总结
机器学习·数据分析·kaggle
Mr数据杨1 天前
韩语娱乐新闻评论偏见检测与内容审核优化
机器学习·数据分析·kaggle