如何在折线图(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中更好地掌握数据可视化的技术。