数据可视化基础

目标: 学习将传感器数据...

目标:

学习将传感器数据进行可视化。

内容:

使用Pyecharts库绘制简单的折线图和柱状图。
探索不同的图表类型,如散点图、饼图等。
将实时温度数据绘制成实时动态图表。
 

基础知识:

海龟编辑器:python.codemao.cn
常用图表类型:Examples – Apache ECharts
数据类型 —— 列表、字典,数组
 

任务一:数据采集—— 采集八法云 MQTT服务器数据

import requests
import time

uid='b97314f5d26b4b68a035d8383e429260'
topic='tempMonitor'

def get_msg(t):
    pass

x = get_msg(topic)
print(x)

任务二:数据处理和清洗 —— Pandas

import requests
import time

uid='b97314f5d26b4b68a035d8383e429260'
topic='tempMonitor'

def get_msg(t):
    pass

def get_five_data():
    a = []
    pass
    return a
    
a = get_five_data() 
print(a)

任务三:数据可视化 —— Pyecharts

from pyecharts.charts import Line

time = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]
temp = [11, 11, 15, 13, 12, 13, 10]

line = (Line()
        .add_xaxis(time)
        .add_yaxis('温度', temp, is_smooth=True)
       )
line.render('line.html')

 

综合任务:云数据可视化

blank

import requests
import time

uid='b97314f5d26b4b68a035d8383e429260'
topic='tempMonitor'

def get_msg(t):
    url=f'https://apis.bemfa.com/va/getmsg?uid={uid}&topic={t}&type=1'
    res = requests.get(url).json()
    c = res['data'][0]['msg']
    t = res['data'][0]['time']
    id = res['data'][0]['unix']
    return c,t,id

line_data = []
while 1:
    x = get_msg(topic)
    print('获取数据中...')
    if x not in line_data:
        line_data.append(x)
    time.sleep(1)
    if len(line_data)==6:
        break

print(line_data)


lst_c = [i[0] for i in line_data]
lst_t = [i[1][11:] for i in line_data]
print(lst_c)    
print(lst_t)   

from pyecharts.charts import Line

line = Line()
line.add_xaxis(lst_t)
line.add_yaxis("温度", lst_c)
# render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件
# 也可以传入路径参数,如 bar.render("mycharts.html")
line.render('line-c.html')