当前位置:   article > 正文

时间数据可视化_时间序列可视化

时间序列可视化

目录

时间序列概念

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)

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/284620
推荐阅读
相关标签
  

闽ICP备14008679号