4.6.1 可视化简介
plot方法
Pandas提供了plot()方法,可以快速方便地将Series和DataFrame中的数据可视化, 是matplotlib模块的pyplot类的封装。
plot 默认为折线图,调用方式为:
df.plot()#针对dataframe的数值列分别绘制折线图 s.plot()#对series的数据绘制折线图
可以在 plot 后增加调用来使用其他的图形:
df.plot.line() # 折线的全写方式 df.plot.bar() # 柱状图 df.plot.barh() # 横向柱状图 (条形图) df.plot.hist() # 直方图 df.plot.box() # 箱形图 df.plot.kde() # 核密度估计图 df.plot.area() # 面积图 df.plot.pie() # 饼图 df.plot.scatter() # 散点图 df.plot.hexbin() # 六边形箱体图,或简称六边形图
也可以通过plot方法的参数kind指定图类来绘制对应的图形:
df.plot(kind='pie') # 绘制饼图
其他的名称和上文相同
plot绘图参数
默认情况下x轴为索引(dataframe为行索引),也可以指定某列为x轴,y轴为指定列的数值或者默认为所有数值列。 如果是Series则索引是x轴,数据为Y轴,无需传入。
# 可以不用写参数名,直接按位置传入 df[:5].plot('学号', '身高')#x轴为学号,y轴为身高 df[:5].plot.bar('学号', ['身高', '体重'])#x轴为学号,y轴为身高和体重两类数据 df[:5].plot.barh(x='学号', y='身高') df[:5].plot.scatter('学号', '身高')
注:散点图只允许有一个Y值。
其他参数及其取值同matplotlib:
- 标题参数为title
- 指定轴上的字体大小参数为fontsize
- 指定线条等样式参数为style
- 指定图例参数为legend,多列数据作为Y轴时默认自动添加图例,要取消设置legend=False
- 指定绘图大小参数为figsize
- 指定背景网格参数为grid
In [3]:
import pandas as pd import numpy as np import matplotlib.pyplot as plt # 通过rc参数设置支持中文 plt.rcParams['font.sans-serif'] = [u'SimHei'] plt.rcParams['axes.unicode_minus'] = False
In [2]:
st = pd.read_excel('data/stinfo.xlsx',index_col = 0) st.head(3)
Out[2]: