数据分析实战—折线图

2,272 阅读2分钟

一、绘制折线图

  折线图可以表示数据的变化趋势

  针对数据提出要求:绘制不同地区1~4月份总交易额折线图

  1. 加载必要的包
import pandas as pd
import matplotlib.pyplot as plt
  1. 读取数据
path='../data/数据.csv'
f=open(path)
data=pd.read_csv(f)
  1. 提取地点名称
place=list(set(data['地点'])) #提取地点

  虽然说我知道数据里的地点只包含5个,分别是“A”,“B”,“C”,“D”,“E”。但是换一个数据,一个一个地输入地址非常麻烦,因此使用这种方法。

  首先使用data['地点']提取地点的所有数据,这里面肯定有很多重复的数据,使用set()函数进行去重,再转化成列表就可以了。

  1. 时间处理
months=[i for i in range(1,5)] #月份,代表了1~4月份
month_name=['一月', '二月', '三月', '四月'] #用于更新标签
data['支付时间'] = pd.to_datetime(data['支付时间']) #变换时间格式
  1. 绘制折线图
for pla in place:
    place_data=data[data['地点']==pla] #各个地区的数据
    place_money=list()  #新建一个列表保存地区的销售额数据
    for mon in months:
        month_data=place_data[place_data['支付时间'].dt.month==mon] #按月提取数据
        money=month_data['金额'].sum() #计算总金额
        place_money.append(money)
    plt.plot(months, place_money, label=pla+'地区')
    
plt.legend()  # 图例
plt.xticks(months, month_name) #更改标签
plt.xlabel("月份") #X轴标签
plt.ylabel("总交易额") #Y轴标签
plt.title("每个地区1-4月总交易额") #标题
plt.show()

  plt.xticks的用法在绘制柱状图中有介绍。

  绘制的折线图如下:

  由图可以看出,各个地区的销售额在二月份出现降低趋势,但随后都在上升,尤其是E地区,较其它地区增长最快。

  代码汇总

import pandas as pd
import matplotlib.pyplot as plt

path='../data/数据.csv'
f=open(path)
data=pd.read_csv(f)

place=list(set(data['地点'])) #提取地点

months=[i for i in range(1,5)] #月份,代表了1~4月份
month_name=['一月', '二月', '三月', '四月'] #用于更新标签

data['支付时间'] = pd.to_datetime(data['支付时间'])
 
for pla in place:
    place_data=data[data['地点']==pla] #各个地区的数据
    place_money=list()  #新建一个列表保存地区的销售额数据
    for mon in months:
        month_data=place_data[place_data['支付时间'].dt.month==mon]
        money=month_data['金额'].sum()
        place_money.append(money)
    plt.plot(months, place_money, label=pla+'地区')
    
plt.legend()  # 让图例生效
plt.xticks(months, month_name)
plt.xlabel("月份") #X轴标签
plt.ylabel("总交易额") #Y轴标签
plt.title("每个地区1-4月总交易额") #标题
plt.show()
f.close()

二、其它问题

数据

python画图 中文字体不显示的问题

数据分析实战—柱状图

数据分析实战—折线图

数据分析实战—饼状图

数据分析实战—气泡图

数据分析实战—热力图

参考

matplotlib官方资料