关键词

Pandas绘图方法(plot)详解

Pandas 在数据可视化方面有着较为广泛的应用,Pandas 的 plot() 方法可以用来绘制各种类型的统计图表,包括线图、散点图、柱状图、饼图、密度图等等。

plot() 方法是基于matplotlib库构建的,因此具有很高的灵活性和可定制性,可以通过参数设置对图表进行调整。plot()方法可以直接作用于Series、DataFrame和GroupBy对象,方便快捷地生成图表。

本节我们深入讲解一下 Pandas 的绘图操作。

Series和DataFrame绘图方法

Pandas 的Series和DataFrame结构都封装了plot方法,便于快捷绘制可视化图形。常用的绘图方法有:

  • plot()
  • bar()
  • barh()
  • hist()
  • box()
  • kde()
  • area()
  • scatter()
  • hexbin()
  • pie()

这些方法可以用于绘制不同类型的图表,如线图、柱状图、直方图、箱线图、密度图、面积图、散点图、六边形图和饼图等。

以下是几个常见的绘图方法实例:

散点图

使用plot.scatter()方法可以创建散点图。散点图通常用于显示两个数值变量之间的关系。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 创建数据集
np.random.seed(123)
df = pd.DataFrame({'x': np.random.randn(50),
                   'y': np.random.randn(50)})

# 绘制散点图
df.plot.scatter(x='x', y='y', c='blue')
plt.show()

上面的代码创建了一个数据集,然后使用plot.scatter()方法创建了一个散点图。x和y参数分别指定了要绘制的列,c参数指定了散点的颜色。

运行结果如图:

条形图

使用plot.bar()方法可以创建条形图。条形图通常用于显示分类变量的频率或分布。

import pandas as pd
import matplotlib.pyplot as plt

# 创建数据集
data = {'apples': 10, 'oranges': 15, 'pears': 5, 'bananas': 20}
df = pd.DataFrame.from_dict(data, orient='index', columns=['count'])

# 绘制条形图
df.plot.bar(y='count', rot=0)
plt.show()

上面的代码创建了一个数据集,然后使用plot.bar()方法创建了一个条形图。y参数指定了要绘制的列,rot参数指定了x轴标签的旋转角度。

运行结果如图:

直方图

使用plot.hist()方法可以创建直方图。直方图通常用于显示数值变量的分布。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 创建数据集
np.random.seed(123)
df = pd.DataFrame({'x': np.random.normal(0, 1, 100)})

# 绘制直方图
df.plot.hist(bins=20)
plt.show()

上面的代码创建了一个数据集,然后使用plot.hist()方法创建了一个直方图。bins参数指定了直方图的柱子数量。

运行结果如图:

箱线图

使用plot.box()方法可以创建箱线图。箱线图通常用于显示数值变量的分布和离群值。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 创建数据集
np.random.seed(123)
df = pd.DataFrame({'x': np.random.normal(0, 1, 100)})

# 绘制箱线图
df.plot.box()
plt.show()

上面的代码创建了一个数据集,然后使用plot.box()方法创建了一个箱线图。

运行结果如图:

参数说明

plot() 方法的通用语法为:

DataFrame.plot(
    kind=None,
    axes=None,
    figsize=None,
    use_index=True,
    title=None,
    grid=None,
    legend=True,
    style=None,
    logx=False,
    logy=False,
    loglog=False,
    xticks=None,
    yticks=None,
    xlim=None,
    ylim=None,
    rot=None,
    fontsize=None,
    colormap=None,
    table=False,
    yerr=None,
    xerr=None,
    label=None,
    secondary_y=False,
    **kwds,
)

其中,常用的参数说明如下:

  • kind:绘制图形的类型,如线形图 line,柱状图 bar,散点图 scatter 等。
  • x:指定用于横坐标的列名或数组。
  • y:指定用于纵坐标的列名或数组。
  • title:图形的标题。
  • xlabel:横坐标的标签。
  • ylabel:纵坐标的标签。
  • xlim:横坐标的显示范围。
  • ylim:纵坐标的显示范围。
  • figsize:图形的尺寸,用元组表示。
  • legend:是否显示图例。
  • color:图形的颜色,可以是字符串或元组。
  • alpha:图形的透明度,取值范围为 [0, 1]。
  • grid:是否显示网格线。
  • style:用于控制线条样式的字符串。
  • marker:用于指定散点图点的样式。
  • s:散点图点的大小。
  • c:散点图点的颜色。
  • fontsize:图形中文本的字体大小。
  • rot:x轴标签的旋转角度。
  • kind:图形的种类。
  • subplots:是否绘制子图。

本文链接:http://task.lmcjl.com/news/4451.html

展开阅读全文