如何在折线图(Matplotlib)的Y轴上绘制多个Pandas列?

如何在折线图(Matplotlib)的Y轴上绘制多个Pandas列?

Matplotlib是Python中最重要的数据可视化库之一,我们可以使用它创建许多不同类型的图表,包括折线图。Pandas库的另一个强大工具,可以帮助我们处理和准备数据。在本文中,我们将研究如何在Matplotlib折线图的Y轴上绘制多个Pandas列。

准备工作

为了演示这个过程,我们将使用一个虚拟的数据集。我们需要导入Pandas和Matplotlib库,并使用Pandas的函数read_csv()将数据集读入:

import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_csv('data.csv')

我们的数据如下所示:

       Month    A    B    C    D
0   2020-01   20   35   50   65
1   2020-02   22   37   52   67
2   2020-03   25   40   55   70
3   2020-04   26   41   56   71
4   2020-05   27   42   57   72
5   2020-06   28   43   58   73
6   2020-07   30   45   60   75
7   2020-08   32   47   62   77
8   2020-09   35   50   65   80
9   2020-10   38   53   68   83
10  2020-11   40   55   70   85
11  2020-12   42   57   72   87

该数据包含一个月份列以及四个值列,我们将使用这些列在Matplotlib中创建一个折线图。

创建折线图

我们可以使用Matplotlib的函数plot()来创建一个折线图。 plot()函数需要至少两个参数: x和y,它们分别是x轴和y轴上的数据点。

plt.plot(data['Month'],data['A'])
plt.show()

这将在Matplotlib交互式窗口中打开一个新的图形对象,并在该窗口中绘制由数据集A列提供的一条简单折线。在下图中,X轴显示每个月的日期,Y轴显示值。

我们可以使用Matplotlib的函数xlabel()和ylabel()来添加标签,使得绘图更加清晰和易于解释。我们还可以使用函数title()添加一个标题。

plt.plot(data['Month'],data['A'])
plt.xlabel('Month')
plt.ylabel('Value')
plt.title('A')
plt.show()

这将为我们的图表添加一个X轴标签、一个Y轴标签和一个标题。

现在我们已经组织好我们的折线图,我们来尝试在Y轴上绘制多个列。

在Y轴上绘制多个列

绘制多个列时,在一个图表中,我们可以使用Matplotlib的plot()函数多次来表示多个折线。这将在同一张图表中绘制多条线。

plt.plot(data['Month'],data['A'])
plt.plot(data['Month'],data['B'])
plt.plot(data['Month'],data['C'])
plt.plot(data['Month'],data['D'])
plt.xlabel('Month')
plt.ylabel('Value')
plt.title('Multiple lines')
plt.show()

此处,我们将data中的四个列(A、B、C和D)全部绘制出来,形成了一个新的图表。每个列都以不同的颜色绘制,更容易区分折线。此时我们已经成功在Y轴上绘制了多个Pandas列。

自定义折线属性

我们可以使用plot()函数的类型参数来自定义折线的样式。让我们假设我们想要更改A列折线的线条颜色、B列折线的线型、C列折线的标记和D列折线的线宽。

plt.plot(data['Month'],data['A'],'r') #用红色绘制第一个折线
plt.plot(data['Month'],data['B'],'--') #用虚线绘制第二个折线
plt.plot(data['Month'],data['C'],'s') #用方形标记绘制第三个折线
plt.plot(data['Month'],data['D'],linewidth=2) #线宽为2的线条绘制第四个折线
plt.xlabel('Month')
plt.ylabel('Value')
plt.title('Custom lines')
plt.show()

在此,我们已将A列用红色、B列用虚线、C列用方形标记、D列线宽为2。应该看起来像这样:

还有许多其他属性可以自定义,例如线条样式、标记、线宽等等。我们只需在plot()函数中指定它们。

结论

绘制多个Pandas列的Matplotlib折线图非常简单。我们可以使用Matplotlib的plot()函数重新组织数据,也可以使用其他属性自定义图表以获得更好的效果。希望这篇文章帮助您在Python中更好地掌握数据可视化的技术。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程