利用matplotlib生成折线图,按每天进行统计,显示商店每天的销量情况,并把图形保存为本地文件day_amount_plot.png。实验效果如图3-2所示。 图3-2 (4)利用matplotlib生成柱状图,按月份进行统计,显示商店每月的销量情况,并把图形保存为本地文件
时间: 2024-03-03 17:47:47 浏览: 19
好的,我来回答你的问题。
首先,我们需要导入相关的库:
```python
import pandas as pd
import matplotlib.pyplot as plt
```
然后,我们使用 pandas 读取 csv 文件,并按照日期进行分组,并统计每天的销量:
```python
df = pd.read_csv('sales.csv')
df['Date'] = pd.to_datetime(df['Date'])
df = df.groupby('Date').sum().reset_index()
```
接下来,我们可以使用 matplotlib 绘制折线图,并保存为本地文件:
```python
plt.plot(df['Date'], df['Amount'])
plt.xlabel('Date')
plt.ylabel('Amount')
plt.title('Daily Sales Amount')
plt.savefig('day_amount_plot.png')
```
这里,我们使用 `plt.plot()` 方法绘制折线图,使用 `plt.xlabel()` 和 `plt.ylabel()` 方法设置 x 轴和 y 轴的标签,使用 `plt.title()` 方法设置图形的标题,使用 `plt.savefig()` 方法保存图形到本地文件。
接下来,我们需要按照月份进行统计,并绘制柱状图:
```python
df['Month'] = df['Date'].dt.month
df = df.groupby('Month').sum().reset_index()
plt.bar(df['Month'], df['Amount'])
plt.xlabel('Month')
plt.ylabel('Amount')
plt.title('Monthly Sales Amount')
plt.savefig('month_amount_plot.png')
```
这里,我们使用 `df['Date'].dt.month` 方法获取每个日期的月份,并添加到 DataFrame 中,然后按照月份进行分组,并统计每月的销量。最后,我们使用 `plt.bar()` 方法绘制柱状图,使用 `plt.xlabel()` 和 `plt.ylabel()` 方法设置 x 轴和 y 轴的标签,使用 `plt.title()` 方法设置图形的标题,使用 `plt.savefig()` 方法保存图形到本地文件。
完整代码如下:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 统计每天的销量并绘制折线图
df = pd.read_csv('sales.csv')
df['Date'] = pd.to_datetime(df['Date'])
df = df.groupby('Date').sum().reset_index()
plt.plot(df['Date'], df['Amount'])
plt.xlabel('Date')
plt.ylabel('Amount')
plt.title('Daily Sales Amount')
plt.savefig('day_amount_plot.png')
# 统计每月的销量并绘制柱状图
df['Month'] = df['Date'].dt.month
df = df.groupby('Month').sum().reset_index()
plt.bar(df['Month'], df['Amount'])
plt.xlabel('Month')
plt.ylabel('Amount')
plt.title('Monthly Sales Amount')
plt.savefig('month_amount_plot.png')
```
注意,这里的 `sales.csv` 文件应该与 Python 脚本文件在同一个目录下。如果不在同一个目录下,你需要提供文件的完整路径。