Pandas数据分析26——pandas对象可视化.plot()用法和参数

参考书目:《深入浅出Pandas:利用Python进行数据处理与分析》

无论是机器学习还是数据分析等数据科学领域,数据可视化是不可或缺的。pandas数据有专门的可视化方法——.plot(), 当然这个方法有很多参数,而且不同对象画法不一样,r语言这方面做的就很模糊。pandas语法很严谨,可视化依靠matplotlib.pyplot包上进行集成封装。用法都有相识之处,下面一起来学一下pandas对象的plot() 里面的用法和参数。

还是先导入包和读取案例数据

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams ['font.sans-serif'] ='SimHei'               #显示中文
plt.rcParams ['axes.unicode_minus']=False               #显示负号
data = 'https://www.gairuo.com/file/data/dataset/team.xlsx'
df = pd.read_excel(data)

图形类型

df.plot.line() # 折线的全写方式

df.plot.bar() # 柱状图

df.plot.barh() # 横向柱状图 (条形图)

df.plot.hist() # 直方图

df.plot.box() # 箱形图

df.plot.kde() # 核密度估计图

df.plot.density() # 同

df.plot.kde()

df.plot.area() # 面积图

df.plot.pie() # 饼图

df.plot.scatter() # 散点图

df.plot.hexbin() # 六边形箱体图,或简称六边形图

plot()使用方法

基础用法很简单,就是Series对象或者DataFrame对象进行.plot()就行

Series 使用 plot 时 x 轴为索引,y 轴为索引对应的具体值:

随机生成一条数据然后画图

ts = pd.Series(np.random.randn(20),index=pd.date_range('1/1/2000', periods=20))
ts.plot()

Pandas数据分析26——pandas对象可视化.plot()用法和参数

DataFrame 使用 plot 时 x 轴为索引,y 轴为索引对应的多个具体值:

df2 = pd.DataFrame(np.random.randn(6, 4), index=pd.date_range('1/1/2000', periods=6),columns=list('ABCD'))
df2.plot()

Pandas数据分析26——pandas对象可视化.plot()用法和参数

指定列

DataFrame 在绘图时可以指定 x 和 y 轴的列:
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 轴内容

Pandas数据分析26——pandas对象可视化.plot()用法和参数
#如果 y 轴需要多个值,可以传入列表:
df3.plot(x='A', y=['B','C'])

plot()参数

#图形类型

df.plot() 可以通过参数来指定具体图形类型:

df.plot(kind='pie') # 其他的名称和上文相同
s.plot(kind='pie')

#X轴和Y轴

常用在折线图、柱状图、面积图、散点图等,如果是 Series 则索引是 x 轴,Y 轴里值,无需传入。

可以不用写参数名,直接按位置传入
df[:5].plot('name', 'Q1')
df[:5].plot.bar('name', ['Q1', 'Q2'])
df[:5].plot.barh(x='name', y='Q4')
df[:5].plot.area('name', ['Q1', 'Q2'])
df[:5].plot.scatter('name', 'Q3')

#图形标题

df.set_index('name')[:5].plot(kind='bar',title='前五个同学成绩')

Pandas数据分析26——pandas对象可视化.plot()用法和参数

#字体大小

#指定轴上的字体大小:
df.set_index('name')[:5].plot(fontsize=15)

Pandas数据分析26——pandas对象可视化.plot()用法和参数

X,Y轴上的字明显变大了

线条样式

主要是这个style 来调整。style 可指定图的线条等样式,可参考可选的值 Matplotlib Line-style:

df[:5].plot(style=':')  # 虚线
df[:5].plot(style='-.') # 虚实相间
df[:5].plot(style='--') # 长虚线
df[:5].plot(style='-')  # 实线(默认)
df[:5].plot(style='.')  # 点
df[:5].plot(style='*-') # 实线,数值为星星
df[:5].plot(style='^-') # 实线,数值为三角形

#对不同线分别给样式:
df.set_index('name')[:5].plot(style=[':', '--', '.-', '*-'])

Pandas数据分析26——pandas对象可视化.plot()用法和参数

背景辅助线

grid 会给 x 方向和 y 方向增加灰色辅助线:

df[:5].plot(grid=True)

Pandas数据分析26——pandas对象可视化.plot()用法和参数

图例

图例就是图片左上角或者右上的小案例说明那条颜色的线代表了什么变量名

pandas的plot画法默认会画出图例,当然也可以取消图例

#可以取消图例:
df[:5].plot(legend=False)
#可以反向排序图例:
df[:5].plot(legend='reverse')

Pandas数据分析26——pandas对象可视化.plot()用法和参数

图形大小

figsize 参数传入一个元组,可以指定图形的宽高英寸值。

df[:5].plot.bar(figsize=(10.5,5))

当然可以给出全局默认的图形大小:

import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = (15.0, 8.0) # 固定显示大小

色系

colormap 指定图形的配色,具体值可参考Matplotlib 库的色系表:List of named colors — Matplotlib 3.6.0.dev2928+ga68f21f589 documentation

df[:5].plot.barh(colormap='rainbow')

Pandas数据分析26——pandas对象可视化.plot()用法和参数

matplotlib 其他参数

#此外,还支持 matplotlib 库中的其他参数,
df[:10].plot.line(color='k') # 图的颜色
df[:5].plot.bar(rot=45) # 主轴上文字的方向度数

图像叠加

可以将柱状图和折线图画一起

df['Q1'].head().plot.bar(), df.mean(1).head().plot(color='r')  #Q1和平均成绩

Pandas数据分析26——pandas对象可视化.plot()用法和参数

Original: https://blog.csdn.net/weixin_46277779/article/details/126344796
Author: 阡之尘埃
Title: Pandas数据分析26——pandas对象可视化.plot()用法和参数

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/693079/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球