详解pandas.DataFrame.plot() 画图函数

  • Post category:Python

下面我会详细讲解“详解pandas.DataFrame.plot()画图函数”的完整攻略。

一、概述

Pandas是一个功能强大的数据分析库,它主要提供了两种类型的数据结构:Series和DataFrame。而pandas.DataFrame.plot()画图函数是pandas库中非常强大的一个绘图函数,它可以根据DataFrame中的数据快速生成各种类型的图表,包括折线图、柱状图、散点图等等。本篇攻略将详细介绍pandas.DataFrame.plot()画图函数的使用方法和常见参数。

二、基本用法

pandas.DataFrame.plot()函数的基本用法非常简单,它通常是在DataFrame变量上直接调用,例如:

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

#生成一组随机数据
data = pd.DataFrame(np.random.randn(100,3),columns=list('ABC'))

#使用plot()函数绘制折线图
data.plot()
plt.show()

上面的代码中,我们生成了一个随机的100行3列的DataFrame数据,然后使用plot()绘制了一个折线图。plot()函数的默认参数是kind=’line’,因此它会默认绘制一条线图。如果需要绘制其他类型的图表,需要修改kind参数。

三、常用参数

在pandas.DataFrame.plot()函数中,常用的参数包括以下几个:

  • kind:用于指定绘制何种类型图表,常见的值包括’line’,’bar’,’barh’,’hist’,’kde’,’density’,’area’,’scatter’等等。
  • figsize:用于指定绘图的尺寸,例如figsize=(10,4)。
  • title:用于指定图表的标题。
  • xlim/ylim:用于指定坐标轴的范围,例如xlim=(0,100)。
  • xlabel/ylabel:用于指定坐标轴的标签,例如xlabel=’X轴’,ylabel=’Y轴’。
  • legend:用于指定图例的显示方式,默认是True,可以设置为False隐藏图例。
  • grid:用于指定是否显示坐标轴的网格线,默认是False。
  • color:用于指定图表的颜色,可以是字符串或RGB值。

例如,我们可以使用以下代码绘制一个散点图,并设置图表标题和坐标轴标签:

#生成一组随机数据
data = pd.DataFrame(np.random.randn(100,2),columns=list('XY'))

#使用plot()函数绘制散点图
data.plot(kind='scatter', x='X', y='Y', figsize = (8, 6), title='Scatter Plot of X and Y', xlabel='X', ylabel='Y')
plt.show()

四、示例分析

以下是两个使用pandas.DataFrame.plot()函数的示例:

示例一

在这个示例中,我们将下载并使用气象数据,根据数据绘制不同的图表。

import pandas as pd
import matplotlib.pyplot as plt

#读取气象数据,这里使用了pandas内置的数据集
weather = pd.read_csv('https://raw.githubusercontent.com/datasets/weather-data/master/data/weather.csv')

#选择需要绘制图表的数据
temp = weather[['MinTemp', 'MaxTemp', 'Rainfall']].head(50)

#绘制折线图
temp.plot(kind='line', figsize=(12,6), title='Temperature and Rainfall')
plt.show()

#绘制柱状图
temp.plot(kind='bar', figsize=(12,6), title='Temperature and Rainfall')
plt.show()

#绘制散点图
temp.plot(kind='scatter', x='MinTemp', y='MaxTemp', figsize=(12,6), title='Min and Max Temperatures')
plt.show()

上述示例中,我们读取了气象数据,然后选择了该数据的三列:最低温度、最高温度和雨量。根据数据绘制了三种不同类型的图表:折线图、柱状图和散点图。

示例二

这个示例展示了如何绘制一个面积图。

import pandas as pd
import matplotlib.pyplot as plt

#生成一组用于绘制面积图的数据
data = {'Year': [2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019],
        'Total Sales': [30, 55, 80, 140, 200, 305, 400, 550, 745, 920],
        'Net Profit': [0, 10, 20, 40, 60, 100, 160, 230, 360, 550],
        'Gross Profit': [5, 20, 35, 65, 90, 150, 220, 300, 450, 680]}

sales = pd.DataFrame(data)

#绘制面积图
sales.plot(kind='area', x='Year', stacked=False, alpha=0.5, figsize=(12,6), title='Sales and Profit')
plt.show()

在这个示例中,我们使用了一组自己生成的数据,然后根据这组数据绘制了一个不同颜色堆叠的面积图。

五、总结

在本篇攻略中,我们详细介绍了pandas.DataFrame.plot()函数的使用方法和常见参数。借助于这个函数,我们可以非常方便地根据数据快速绘制出各种不同类型的图表。需要注意的是,这个函数只是pandas库中的一个小功能,而在绘图方面,matplotlib库提供的功能更加强大,我们也可以将pandas与matplotlib结合使用,实现更加复杂的图表绘制。