【数据可视化实验-5】时间序列型图表之折线图

实验内容:
绘制显示时间序列趋势和关系的折线图,观察某段时间内的整体概览,发现数据在这段时间内的发展情况。
实验要求:
自选时间序列型数据集,绘制折线图。要求说明数据集来源,详细介绍数据集内容。
实验目的:
掌握折线图的绘制方法,理解时间序列数据的可视化方法。
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
from datetime import datetime
import numpy as np
from plotnine import *
from scipy import interpolate
import time

df=pd.read_csv('Line_Data.csv',index_col =0)
df.index=[datetime.strptime(d, '%Y/%m/%d').date() for d in df.index]
fig =plt.figure(figsize=(5,4), dpi=100)
plt.plot(df.index, df.AMZN, color='#F94306', label='AMZN')
plt.plot(df.index, df.AAPL, color='#06BCF9', label='AAPL')
plt.xlabel("Year")
plt.ylabel("Value")
plt.legend(loc='upper left',edgecolor='none',facecolor='none')
plt.show()

 

df=pd.read_csv('Area_Data.csv')
df['x']=[time.mktime(time.strptime(d, '%Y/%m/%d')) for d in df['date']]

f = interpolate.interp1d(df['x'], df['value'], kind='quadratic')
x_new=np.linspace(np.min(df['x']),np.max(df['x']),600)
df_interpolate=pd.DataFrame(dict(x=x_new,value=f(x_new)))
df_interpolate['date']=[datetime.strptime(time.strftime('%Y-%m-%d', time.gmtime(d)), '%Y-%m-%d') for d in df_interpolate['x']]
base_plot=(ggplot(df_interpolate, aes(x ='date', y = 'value',group=1) )+
           geom_bar(aes(fill='value',colour='value'),stat = "identity",alpha=1,width =2)+
           geom_line(color="black",size=0.5)+
           scale_color_cmap(name ='Reds')+
           scale_x_date(date_labels = "%Y",date_breaks = "2 year")+
           xlab("Year")+
           ylab("Value")+
           guides(fill=False)+
           theme(
               axis_title=element_text(size=10,face="plain",color="black"),
               axis_text = element_text(size=10,face="plain",color="black"),
               legend_background = element_blank(),
               legend_position = (0.25,0.65),
               aspect_ratio =0.85,
               figure_size = (5, 5),
               dpi = 100
           ))
print(base_plot)

 

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值