Matplotlib 是众多 Python 可视化包的鼻祖,也是Python最常用的标准可视化库,其功能非常强大,但学起来有时候也较为复杂。其实,Pandas自身就有内建的可视化工具,它的 plot() 方法可以快速方便地将 Series 和 DataFrame 中的数据进行可视化。
基本用法
plot 默认为折线图,折线图也是最常用和最基础的可视化图形,足以满足我们日常 80% 的需求:
df.plot()
s.plot()
我们可以在 plot 后增加调用来使用其他的图形,当然这些图形对数据结构也有自己的要求:
df.plot.line() # 折线的全写方式
df.plot.scatter() # 散点图
df.plot.bar() # 柱状图
df.plot.barh() # 横向柱状图 (条形图)
df.plot.hist() # 直方图
df.plot.box() # 箱形图
df.plot.pie() # 饼图
Series Plot绘图
Series 使用 plot 时 x 轴为索引,y 轴为索引对应的具体值:
import pandas as pd
import numpy as np
ts = pd.Series(np.random.randn(20),
index=pd.date_range('1/1/2000', periods=20))
ts.plot()
输出结果:
image.png
DataFrame Plot 绘图
DataFrame 使用 plot 时 x 轴为索引,y 轴为索引对应的多个具体值:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(6, 4),
index=pd.date_range('1/1/2000', periods=6),
columns=list('ABCD'))
df.plot()
输出结果:
image.png
指定DataFrame中的某些数据进行绘制
DataFrame 在绘图时可以指定 x 和 y 轴的列:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(6, 4),
index=pd.date_range('1/1/2000', periods=6),
columns=list('ABCD'))
df3 = pd.DataFrame(np.random.randn(1000, 2), columns=['B', 'C']).cumsum()
df3['A'] = pd.Series(list(range(len(df))))
df3.plot(x='A', y='B') # 指定 x 和 y 轴内容
输出结果:
image.png
如果 y 轴需要多个值,可以传入列表:
df3.plot(x='A', y=['B','C'])
输出结果:
image.png
网友评论