简介
pandas-alive 以matplotlib
绘图为后端,对pandas
的DataFrame
对象进行绘图处理。虽然提供了很简单的绘制可视化图表机制,但是在使用的过程中,需要有特定的数据格式:
- 数据的索引具有维度意义:例如时间, ** 当索引为整型时需考虑步长的关系,会影响数值
- 每列包含特定类别的值
从上面的格式要求来看,用于生成可视化图表的最佳选择是:与时间有线性关系的数据集合。从文档里面给的数据源可以求证到这一点。
例子
在文档里面所列的数据都是经过了整理成合适的数据样例,数据与时间线性相关。
但是在实际生产中,很难找到能直接使用的例子。所以,在使用过程中,需要经历三个阶段:确定数据类型、数据处理、根据数据类型选择相应图表。
下面将使用从 和鲸社区 拿到的“2022年冬奥会奖牌信息” 进行例子演示:
确认数据类型
数据源为一个csv文件,以第一行作为表头,内容如下所示
观察数据,从整体上看,与时间相关性较强的是“国家”、“时间”、“奖牌类型”,所以我们可以得到一个较简单的模型: 同种奖牌
类型下的国家
获得奖牌数量
与时间
的关系。
数据预处理
从上述的表中,数据格式不符合pandas-alive绘图的要求,于是得进行一系列的数据处理。
import pandas as pd
import pandas_alive
import numpy as np
from examples.utils import get_filepath
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 替换sans-serif字体
plt.rcParams['axes.unicode_minus'] = False # 解决坐标轴负数的负