接下来我将详细讲解“Python 数据可视化之日期折线图画法”的完整攻略。
一、前言
在数据分析和可视化中,日期处理是一个常见的需求,通过日期折线图可以更直观地反映数据的变化趋势。本文将介绍如何用 Python 中的 matplotlib 包绘制日期折线图。
二、准备工作
在使用 matplotlib 包前,需要安装 Matplotlib 包、Numpy 包和 Pandas 包,可以通过以下代码进行安装。
!pip install matplotlib
!pip install numpy
!pip install pandas
三、绘制日期折线图
1. 导入需要的库
import matplotlib.pyplot as plt
import pandas as pd
2. 准备数据集
在本篇文章中,我们使用美国股市的数据集作为案例说明。该数据集中包含有若干股票的历史股价,可以从 Yahoo Finance 网站获取。首先,我们需要读取 CSV 文件,并将日期列转换为 Pandas 的日期时间格式。
data = pd.read_csv('aapl.csv', parse_dates=[0])
3. 创建日期折线图
接下来,我们可以使用 matplotlib 的 plot() 函数绘制日期折线图。
plt.plot(data['Date'], data['Close'], '-o', markersize=2)
plt.xlabel('Date')
plt.ylabel('Close Price')
plt.title('AAPL Stock Price')
plt.show()
其中,“-o”表示折线图的线条形状为实心圆点,markersize=2 表示实心圆点的大小。
4. 图表美化
如果需要对图表进行美化,我们可以使用 matplotlib 的多种函数调整图表的样式。例如,调整横坐标的日期格式(如每个月只显示一个日期)。
import matplotlib.dates as mdates
fig, ax = plt.subplots()
ax.plot(data['Date'], data['Close'], '-o', markersize=2)
ax.xaxis.set_major_locator(mdates.MonthLocator(interval=1)) # 间隔一个月显示一次
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
plt.xlabel('Date')
plt.ylabel('Close Price')
plt.title('AAPL Stock Price')
plt.show()
5. 更加复杂的绘图
如果需要在同一张图表中画多条线,我们可以给每一条线指定一个颜色和标签,以区分不同的股票。同时,我们也可以添加图例和标题,让图表更加清晰易懂。
import os
def get_data(stock):
data_path = os.path.join(os.getcwd(), f"{stock}.csv")
df = pd.read_csv(data_path, parse_dates=[0])
df = df[['Date', 'Close']]
df.rename(columns={'Close': stock}, inplace=True)
stocks = ['aapl', 'goog', 'msft', 'tsla']
dfs = []
for stock in stocks:
df = get_data(stock)
if df is not None:
dfs.append(df)
df_final = dfs[0]
for df in dfs[1:]:
df_final = pd.merge(df_final, df, on='Date')
df_final.set_index('Date', inplace=True)
fig, ax = plt.subplots()
for stock in stocks:
ax.plot(df_final[stock], '-o', markersize=2, label=stock)
ax.xaxis.set_major_locator(mdates.MonthLocator(interval=1))
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
plt.xlabel('Date')
plt.ylabel('Close Price')
plt.title('Stock Prices')
plt.legend()
plt.show()
在上述代码中,我们读取了四只股票的历史数据,并将它们拼接成一个数据集。然后,我们在同一张图表中画出了每只股票的历史股价,并给每一条线指定了颜色和标签。最后,我们添加了图例和标题,让图表更加易懂。
四、总结
本篇文章介绍了如何使用 Python 中的 matplotlib 包绘制日期折线图,并展示了两个案例来说明如何进行图表美化和绘制复杂的图表。通过本篇文章的学习,相信读者已经掌握了日期折线图的绘制方法,在实际工作中可以根据实际需求进行进一步的应用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python数据可视化之日期折线图画法 - Python技术站