简介:本文将介绍如何使用Python的Matplotlib库在一张图上绘制多条曲线,包括数据平滑处理、添加图注、图例、图题以及范围缩放等操作。我们将从一个处理多个CSV文件的简单示例开始,然后逐步构建更复杂的图表。
首先,确保已经安装了必要的Python库。如果没有安装,可以使用以下命令进行安装:
pip install matplotlib pandas numpy
接下来,我们将使用Pandas来处理CSV文件,并使用Matplotlib来绘制图表。
步骤1:导入必要的库
import pandas as pdimport numpy as npimport matplotlib.pyplot as plt
步骤2:读取CSV文件
假设你有两个CSV文件,分别是data1.csv和data2.csv,每个文件都有两列数据:x和y。你可以使用Pandas的read_csv函数来读取这些文件。
df1 = pd.read_csv('data1.csv')df2 = pd.read_csv('data2.csv')
步骤3:数据平滑处理
为了使曲线看起来更平滑,我们可以使用Matplotlib的smooth函数对数据进行平滑处理。这里我们使用简单的移动平均平滑。
df1['y'] = df1['y'].rolling(window=5).mean()df2['y'] = df2['y'].rolling(window=5).mean()
步骤4:绘制多条曲线
现在我们可以使用Matplotlib的plot函数来绘制多条曲线。为了区分不同的曲线,我们将为每条曲线分配一个不同的颜色。
plt.plot(df1['x'], df1['y'], label='Data 1')plt.plot(df2['x'], df2['y'], label='Data 2')
步骤5:添加图注、图例和图题
为了使图表更具可读性,我们可以添加图注、图例和图题。使用Matplotlib的legend函数添加图例,使用title函数添加图题。为了添加图注,我们可以使用文本函数text在图表上添加说明文字。
plt.legend() # 添加图例plt.title('Multiple Curves on Same Plot') # 添加图题plt.text(0.5, 0.9, 'This is a combined plot of multiple data sets', ha='center', va='center', transform=plt.gca().transAxes) # 添加图注
步骤6:范围缩放
为了确保所有数据都在同一张图上显示,我们需要调整x轴和y轴的范围。这可以通过Matplotlib的xlim和ylim函数实现。
plt.xlim([0, max(df1['x'].max(), df2['x'].max())]) # 调整x轴范围plt.ylim([0, max(df1['y'].max(), df2['y'].max())]) # 调整y轴范围
步骤7:显示图表
最后,使用Matplotlib的show函数显示图表。
plt.show()