📜  pandas 线图字典 - Python (1)

📅  最后修改于: 2023-12-03 15:33:24.830000             🧑  作者: Mango

Pandas 线图字典 - Python

Pandas 是一个广泛使用的 Python 数据分析和操作库,它提供了构建数据分析流程所需的各种实用功能,其中包括可视化工具。Pandas 提供了强大的绘图工具,使得绘制各种类型的图表如线图变得非常简单。本文将为您介绍 Pandas 的线图绘制方法。

导入 Pandas 库

在开始之前,让我们先导入 Pandas 库并设置一些常用的绘图选项。

import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline

plt.rcParams['figure.figsize'] = [12.0, 8.0]
plt.rcParams['axes.labelsize'] = 12
plt.rcParams['xtick.labelsize'] = 10
plt.rcParams['ytick.labelsize'] = 10
plt.rcParams['axes.grid'] = True
简单线图

绘制简单线图的方法非常简单。首先,我们需要创建一个 Pandas 数据框(DataFrame)对象并将其传递给 .plot() 方法。.plot() 方法有许多选项可以帮助我们自定义绘图,例如选择线条颜色、标记样式、线条宽度等。

下面的示例中,我们将创建一个简单的数据框,它包含表示一周的时间的日期(index)和每天的销售额。然后,我们将使用 .plot() 方法以默认设置绘制线图。

import pandas as pd
import matplotlib.pyplot as plt

data = {'日期': ['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04', '2018-01-05', '2018-01-06', '2018-01-07'],
        '销售额': [2000, 2500, 1800, 3000, 2800, 3500, 4200],}
df = pd.DataFrame(data)
df['日期'] = pd.to_datetime(df['日期'])
df = df.set_index('日期')

df.plot()
plt.show()

简单线图

指定 x 和 y 值

如果我们想指定哪些列用作 x 和 y 值,可以将它们传递给 .plot() 方法的 xy 参数。下面的示例中,我们将使用一个列表来指定使用哪些列,然后通过指定颜色为蓝色和透明度为 0.5 来定制我们的线条。

import pandas as pd
import matplotlib.pyplot as plt

data = {'日期': ['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04', '2018-01-05', '2018-01-06', '2018-01-07'],
        '销售额': [2000, 2500, 1800, 3000, 2800, 3500, 4200],}
df = pd.DataFrame(data)
df['日期'] = pd.to_datetime(df['日期'])
df = df.set_index('日期')

df.plot(x='日期', y='销售额', color='blue', alpha=0.5)
plt.show()

指定 x 和 y 值

添加标题和标签

为了进一步自定义我们的图表,我们可以添加标题和标签。.plot() 方法以及 matplotlib 库提供了许多用于添加标题(title())、x 标签(xlabel())和 y 标签(ylabel())的方法。

下面的示例中,我们将为我们的图表添加一个标题、一个 x 标签和一个 y 标签。

import pandas as pd
import matplotlib.pyplot as plt

data = {'日期': ['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04', '2018-01-05', '2018-01-06', '2018-01-07'],
        '销售额': [2000, 2500, 1800, 3000, 2800, 3500, 4200],}
df = pd.DataFrame(data)
df['日期'] = pd.to_datetime(df['日期'])
df = df.set_index('日期')

ax = df.plot(x='日期', y='销售额', color='blue', alpha=0.5)
ax.set_title('每天的销售额')
ax.set_xlabel('日期')
ax.set_ylabel('销售额(元)')

plt.show()

添加标题和标签

添加多个曲线

为了在同一图表中添加多个曲线,我们可以多次调用 .plot() 方法,每次传递一个不同的 x 值和 y 值。下面的示例中,我们将创建两个数据集(df1 和 df2),并为每个数据集创建一条曲线。然后,我们将在同一图表中绘制这两条曲线,并通过指定标签和颜色来区分它们。

import pandas as pd
import matplotlib.pyplot as plt

data1 = {'日期': ['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04', '2018-01-05', '2018-01-06', '2018-01-07'],
         '销售额': [2000, 2500, 1800, 3000, 2800, 3500, 4200],}
data2 = {'日期': ['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04', '2018-01-05', '2018-01-06', '2018-01-07'],
         '利润': [500, 600, 400, 700, 550, 800, 950],}

df1 = pd.DataFrame(data1)
df1['日期'] = pd.to_datetime(df1['日期'])
df1 = df1.set_index('日期')

df2 = pd.DataFrame(data2)
df2['日期'] = pd.to_datetime(df2['日期'])
df2 = df2.set_index('日期')

ax = df1.plot(color='blue', alpha=0.5, label='销售额')
df2.plot(ax=ax, color='red', alpha=0.5, label='利润')

ax.set_title('每天的销售额和利润')
ax.set_xlabel('日期')
ax.set_ylabel('金额(元)')
ax.legend(loc='upper left')

plt.show()

添加多个曲线

自定义线条样式

我们可以通过指定线条样式和标记样式来自定义线条的外观。下面的示例中,我们将使用不同的线条样式和标记样式来定制我们的图表。

import pandas as pd
import matplotlib.pyplot as plt

data = {'日期': ['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04', '2018-01-05', '2018-01-06', '2018-01-07'],
        '销售额': [2000, 2500, 1800, 3000, 2800, 3500, 4200],}
df = pd.DataFrame(data)
df['日期'] = pd.to_datetime(df['日期'])
df = df.set_index('日期')

df.plot(style='.-', color='blue', alpha=0.5, linewidth=2, markersize=10)
plt.title('每天的销售额')
plt.xlabel('日期')
plt.ylabel('销售额(元)')
plt.grid(True)

plt.show()

自定义线条样式

结论

在本文中,我们学习了如何使用 Pandas 绘制线图。我们看到了如何创建简单线图、指定 x 和 y 值、添加标题和标签、添加多个曲线以及自定义线条样式。通过掌握这些技巧,您将能够创建具有吸引力且易于理解的数据可视化图表。