
文章插图
为什么使用 Matplotlib?
尽管 Matplotlib 有这么多问题,我还是喜欢用它,因为它很强大 。这个库允许你创建几乎所有可视化 。此外,围绕 Matplotlib 有一个丰富的 Python 工具生态环境,很多更高ji的可视化工具使用 Matplotlib 作为基础库 。如果你想在 Python 数据科学栈中进行任何操作,你需要对如何使用 Matplotlib 有一些基础了解 。这就是本文其余部分的重点——提供一种高效使用 Matplotlib 的基础方法 。
前提
推荐以下步骤学习如何使用 Matplotlib:
1. 学习 Matplotlib 的基本术语,具体来说就是什么是 Figure 和 Axes 。
2. 一直使用面向对象的界面,养成习惯 。
3. 用基础的 pandas 绘图开始可视化 。
4. 使用 seaborn 进行稍微复杂的数据可视化 。
5. 使用 Matplotlib 自定义 pandas 或 seaborn 可视化 。
下图非常重要,有助于理解图的不同术语 。
大部分术语很直接易懂,需要牢记的是 Figure 是可能包含一或多个 axes 的最终图像 。Axes 代表单个图 。一旦你理解这些是什么以及如何通过面向对象的 API 评估它们,其余步骤就很简单了 。
了解这个知识还有一个好处,就是当你在网络上看东西的时候有一个出发点 。如果你花时间了解了这个点,那么其他的 Matplotlib API 才有意义 。此外,很多高ji Python 包,如 seaborn 和 ggplot 依赖于 Matplotlib 构建,因此理解了基础,学习更强大的框架才更加容易 。
最后,我不是说你应该逃避其他优秀选项,如 ggplot(又名 ggpy)、bokeh、plotly 或 altair 。我只是认为你需要对 matplotlib + pandas + seaborn 有一个基础的了解 。了解基础可视化栈之后,你就可以探索其他优秀工具,根据需求做出合适的选择 。
开始
下面主要介绍如何在 pandas 中创建基础的可视化以及使用 Matplotlib 定制最常用的项 。了解基础流程有助于更直观地进行自定义 。
我主要关注最常见的绘图任务,如标注轴、调整图形界限(limit)、更新图标题、保存图像和调整图例 。
开始,我打算设置输入,读取一些数据:
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.ticker import FuncFormatter
df = pd.read_excel(\"://github.com/chris1610/pbpython/blob/master/data/sample-salesv3.xlsx?raw=true\")
df.head()
数据包括 2014 年的销售交易额 。为简短起见,我将总结这些数据,列出前十名客户的采购次数和交易额 。绘图时我将对各列进行重命名 。
top_10 = (df.groupby(\'name\')[\'ext price\', \'quantity\'].agg({\'ext price\': \'sum\', \'quantity\': \'count\'})
.sort_values(by=\'ext price\', ascending=False))[:10].reset_index()
top_10.rename(columns={\'name\': \'Name\', \'ext price\': \'Sales\', \'quantity\': \'Purchases\'}, inplace=True)
下图是数据 。
现在数据在简单的表格形式呈现,我们再来看一下如何将数据绘制成条形图 。如前所述,Matplotlib 具备多种不同风格,可用于渲染图表 。你可以使用 plt.style.available 查看你的系统可用的风格 。
plt.style.available
[\'seaborn-dark\',
\'seaborn-dark-palette\',
\'fivethirtyeight\',
\'seaborn-whitegrid\',
\'seaborn-darkgrid\',
\'seaborn\',
\'bmh\',
\'classic\',
\'seaborn-colorblind\',
\'seaborn-muted\',
\'seaborn-white\',
\'seaborn-talk\',
\'grayscale\',
\'dark_background\',
\'seaborn-deep\',
\'seaborn-bright\',
\'ggplot\',
\'seaborn-paper\',
\'seaborn-notebook\',
\'seaborn-poster\',
\'seaborn-ticks\',
\'seaborn-pastel\']
使用如下简单风格:
- 大麦若叶青汁应该怎么喝?
- 每天把牛奶当水喝会怎么样?
- 鸡蛋和什么搭配,或者说怎么做营养流失最少?为什么?
- 产后瘦50斤身材那么好她们是怎么做到的?
- 女孩为什么那么喜欢减肥呢? 14岁女孩怎么减肥
- 生完孩子后还有140来斤,小方法让我回到孕前,怎么做到的?
- 减肥能改变一个人吗?你怎么看?
- 懒人宅在家里能练出腹肌吗?该怎么练? 怎样在家里练出腹肌
- 乳房丰满全身胖是怎么回事?
- 妈妈现在更年期,特别厉害,怎么办
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
