时间数据可视化

目录

时间序列概念

1.时间序列数据分类

2.时间序列数据可视化的作用

连续型数据

2.折线图

3.阶梯图

 离散型时间序列数据

1.柱形图

2. 分组柱形图

3.堆叠柱形图

 4.散点图

具体操作

1. 阶梯图:

 2. 折线图

3. 拟合曲线

 4. 散点图

5. 柱形图

6. 堆叠柱形图



时间序列概念

时间序列数据又称“时序数据”,是按时间顺序排列的一系列数据值。与一般的数据不同,时序数据中的时间是一个非常重要的维度与属性。

1.时间序列数据分类

时间分为时间段和时刻,多个时刻构成时间段,从数据类型上可以分为离散型时间序列数据和连续型时间序列数据两种。

2.时间序列数据可视化的作用

清晰展现,生动表达

连续型数据

1.概念

连续型数据就是指任意两个数据点之间可以细分出无限多个数值,它表现的是不断变化的现象。 例如:温度这种数据就是连续型,可以测量它一天内的任意时刻的温度。还有股市实时行情也是一种连续型数据。

2.折线图

定义:折线图是用直线段将各数据点连接起来而组成的图形,以折线方式显示数据的变化趋势。

3.阶梯图

定义:阶梯图是曲线保持在同一个值,直到发生变化,直接跳跃到下一个值。

 离散型时间序列数据

定义

离散数据又称为不连续数据,这类数据在任何两个数据点之间的个数是有限的。

1.柱形图

 定义: 柱形图又称条形图、直方图,是以宽度相等的条形高度或长度的差异来显示统计指标数值多少或大小的一种图形。

2. 分组柱形图

分组柱形图属于柱状图的一种,是一种以不同分组宽度相同的长方形的长度为变量的图表,每个分组中的柱子使用不同的颜色或者相同颜色不同透明的方式区别各个分类,各个分组之间需要保持间隔。

适用:表达相同分类不同组别的数据,或者相同组别不同分类的数据。 不适用:表达分组过多的,数据量较大的数据,会导致柱子过密。

3.堆叠柱形图

定义: 堆叠柱形图的几何形状和常规柱形图很相似,在柱形图中,数据值为并行排列,而在堆叠柱图则是一个个叠加起来的。

 4.散点图

 定义:

 散点图,顾名思义就是由一些散乱的点组成的图表。

 连续型时间序列数据使用echarts绘制方法;离散型时间序列数据使用echarts绘制方法

具体操作

1. 阶梯图:

from pyecharts import Line
line = Line("美国邮票阶梯图")
datax = ['1995','1996','1997','1998','1999','2000','2001','2002','2003','2004','2005','2006','2007','2008','2009']
datay = [0.32,0.32,0.32,0.32,0.33,0.33,0.34,0.37,0.37,0.37,0.37,0.39,0.41,0.42,0.44]
line.add("Price",datax, datay, is_step = True,is_label_show = True,yaxis_min = 0.3,yaxis_max = 0.45)
line.render(path='./results/1.阶梯图.html')

 2. 折线图

import csv
import matplotlib.pyplot as plt
filename = "world-population.csv"
datax = []
datay = []
with open(filename) as f:
    reader = csv.reader(f)
    for datarow in reader:
        if reader.line_num != 1:
            print(reader.line_num,datarow)
            datax.append(datarow[0])
            datay.append(datarow[1])
plt.plot(datax,datay)
plt.show()

3. 拟合曲线

import numpy as np
import matplotlib.pyplot as plt
import csv
import sys
filename = "/home/ubuntu/unemployment-rate-1948-2010.csv"
xa = []
ya = []
try:
    with open(filename) as f:
        reader = csv.reader(f)
        for datarow in reader:
            if reader.line_num != 1:
                ya.append(float(datarow[3]))
                xa.append(int(datarow[1]))
except csv.Error:
    print("Error reading csv file")
    sys.exit(-1)
plt.figure()
plt.scatter(xa[:], ya[:], s=10,c='g',marker='o',alpha=0.5)
poly = np.polyfit(xa, ya, deg = 3)
plt.plot(xa, np.polyval(poly, xa))
plt.show()

 4. 散点图

import csv
import matplotlib.pyplot as plt

filename = "flowingdata_subscribers.csv"
datay = []
with open(filename) as f:
    reader = csv.reader(f)
    for datarow in reader:
        if reader.line_num != 1:
            datay.append(datarow[1])
xa = list(range(1, len(datay) + 1))
plt.scatter(xa, datay, s=50, c='r', marker='o', alpha=0.5)
plt.show()

5. 柱形图

from pyecharts import Bar, Scatter3D
from pyecharts import Page
import csv
page = Page()  

bar = Bar("柱状图示例")
filename = "hot-dog-contest-winners.csv"
datax = []
datay = []
with open(filename) as f:
    reader = csv.reader(f)
    for datarow in reader:
        if reader.line_num != 1:
            datay.append(datarow[2])
            datax.append(datarow[0])
bar.add("A", datax, datay, is_stack=True)
page.add(bar)

6. 堆叠柱形图

from pyecharts import Bar, Scatter3D
from pyecharts import Page
import csv
page = Page()
bar = Bar("柱状图数据堆叠示例")
filename = "hot-dog-places.csv"
datax = []
datay = []
with open(filename) as f:
     reader = csv.reader(f)
     for datarow in reader:
         datax.append(datarow)
x= datax[0]
y1=datax[1]
y2=datax[2]
y3=datax[3]
bar.add("A", x, y1, is_stack=True)
bar.add("B", x, y2, is_stack=True)
bar.add("c", x, y2, is_stack=True)
page.add(bar)

 

 

 

  • 0
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘新源870

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值