大数据可视化技术 实验五时间数据可视化

大数据可视化技术

实验五:时间数据可视化

一、实验名称 

时间数据可视化

二、实验目的

通过该实验的实践,要求学生可以理解时间数据的含义,掌握Matplotlib和pyecharts的使用过程,能够熟练绘制常见的适合展示时间数据的图表。

三、实验原理

时间数据是在不同时间上收集到的数据,用于所描述现象随时间变化的情况。这类数据反映了某一事物、现象等随时间的变化状态或程度。

适合表达时间数据的图表有折线图、阶梯图、散点图、柱形图等。

四、实验步骤

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='./1.阶梯图.html')

输出结果:

2、折线图

import csv
import matplotlib.pyplot as plt
filename = "/home/ubuntu/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 = "/home/ubuntu/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 = "/home/ubuntu/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)
page.render(path='./5.柱状图.html')

输出结果:

6、堆叠柱形图

from pyecharts import Bar, Scatter3D
from pyecharts import Page
import csv
page = Page()
bar = Bar("柱状图数据堆叠示例")
filename = "/home/ubuntu/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)
page.render(path='./6.柱状堆叠图.html')

输出结果:

五、实验总结

在实验中,通过实践练习,提高学生使用matplotlib和pyecharts进行时间数据可视化的熟练程度,总结适合展示时间数据的图表,能够解释数据随时间变化的趋势。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值