交互的作用:

  • 交互能让用户更好地理解和分析数据
  • 有效地缓解了可视化空间和数据过载之间的矛盾。
  • 更好的组织数据,展示数据的内涵

8.1交互原则

8.1.1交互延时

交互延时指的是从用户操作开始到结果返回经历的时间,延时的长短在很大程度上直接决定了用户体验的效果
选择合理的交互操作和视觉反馈的方法,并且要确保延时在可以接受的范围之内,才可以让用户正常、高效得与系统进行互动。

8.1.2交互场景

一般情况下,交互将引起可视化场景的变化。
应用中,用户通过切换场景来反复对比,达到准确发现变化的目的

8.1.3交互成本

交互本身带给用户便利的同时,额外的成本也会相应增加。
一般情况下,可视化系统会采用自动化处理的方式来解决。
用户分析和自动化分析是相辅相成的,权衡其作用和成本,达到一个平衡

8.2交互分类

按任务类型分类

  • 选择:将目标数据对象标记出来,例如通过高亮的方式标记数据;
  • 重新配置:重新设置可视化配置;
  • 重新编码:展现不同的视觉效果;
  • 导航:可以用来展现不同的数据,例如下一页提示按钮;
  • 关联:将有关联的数据一并展示;
  • 过滤:根据过滤条件选择显示一部分数据;
  • 概览:展现对象的总体概况;
  • 细节:展现更多细节内容;

按操作符与操作空间分类

  • 操作符分为:导航、选择和变形
  • 操作空间分为:数据值空间、数据结构空间、对象空间、属性空间、屏幕空间和可视化结构空间
  • 交互的本质就是操作符与操作空间的组合。

按交互操作类型分类

  • 常见的交互操作归纳如下:缩放、过滤、关联、记录、提取、按需要提供细节以及概览。
  • 根据所操作的数据类型对交互操作进行分类,包括图形操作、数据操作和集合操作三类。
  • 图形操作指的是对可视化对象进行操作,例如图形等视觉表面层面的操作;
  • 数据操作指的是对数据对象进行增加、修改和删除;
  • 集合操作指的是对数据对象组成的集合进行创建和删除操作。

8.3交互技术

选择技术

单选与框选

导航技术

平移、缩放和   旋转(适用于数据量比较小的场景)

重配技术

目的是为用户提供观察数据的不同视角,

可用于解决由于空间距离拉大导致数据属性关联性降低的问题

铁屑与磁铁(Dust & Magnet)技术(性质取决于):

  1. Magnet的性质
  2. Magnet的强度
  3. Magnet所设置的相斥值
  4. Dust关于Magnet所规定的的性质的值

过滤技术

指的是通过设置过滤条件来进行信息查询的技术。

关联技术

不同产品的年产量曲线 用户选择折线数据,饼状图动态显示选择结果

概览+细节技术

综合运用概览和细节的技术展示数据,让用户既可以从整体上把握当前状态,又可以从细节微观的角度观察数据。

8.4部分代码实现

图8-11

df=pd.read_csv("data/beijing_AQI_2018.csv")
attr=df['Date']
vl=df['AQI']
line = (Line().add_xaxis(list(attr)).add_yaxis("AQI:",list(vl)).set_global_opts(title_opts=opts.TitleOpts(title="AQI全年走势图"),).set_series_opts(markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max",),#显示最大值opts.MarkPointItem(type_="min",),#显示最小值]),markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="average")]),#显示平均线areastyle_opts= opts.AreaStyleOpts(color="#000",opacity=0.3),label_opts=opts.LabelOpts(is_show=False)).render("result/8_11.html")
)

图8-13

df=pd.read_csv("data/beijing_AQI_2018.csv")
dom=df[["Date","AQI"]]
list1=[]
for i in dom["Date"]:time=i.split('-')[1]list1.append(time)
df["month"]=list1
month_message=df.groupby(["month"])
monyh_com=month_message["AQI"].agg(["mean"])
monyh_com.reset_index(inplace=True)
monyh_com_last=monyh_com.sort_index()
attr=["{}".format(str( i )+"月") for i in range(1,13)]
vl=np.array(monyh_com_last["mean"])
vl=["{}".format(int(i)) for i in vl]
line = (Line().add_xaxis(attr).add_yaxis("AQI:",vl).set_global_opts(title_opts=opts.TitleOpts(title="AQI月均全年走势图"),).set_series_opts(markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max",),opts.MarkPointItem(type_="min",)]),).render("result/8_13.html")
)

图8-15

df=pd.read_csv("data/beijing_AQI_2018.csv")
dom = df[['Date', 'AQI']]
data = [[], [], [], []]
dom1, dom2, dom3, dom4 = data
for i, j in zip(dom['Date'], dom['AQI']):time = i.split('-')[1]if time in ['01', '02', '03']:dom1.append(j)elif time in ['04', '05', '06']:dom2.append(j)elif time in ['07', '08', '09']:dom3.append(j)else:dom4.append(j)boxplot = Boxplot()
boxplot = (boxplot.add_xaxis(['第一季度', '第二季度', '第三季度', '第四季度']).add_yaxis("", boxplot.prepare_data([dom1, dom2, dom3, dom4])).set_global_opts(title_opts=opts.TitleOpts(title='2018年北京季度AQI箱型图'),)
)
boxplot.render("result/8_15.html")

图8-17

df=pd.read_csv("data/beijing_AQI_2018.csv")
rank_message = df.groupby(['Quality_grade'])
rank_com = rank_message['Quality_grade'].agg(['count'])
rank_com.reset_index(inplace=True)
rank_com_last = rank_com.sort_values('count', ascending=False)attr = rank_com_last['Quality_grade']
v1 = rank_com_last['count']pie = (Pie().add("空气质量", [list(z) for z in zip(attr, v1)], radius=[80, 180],tooltip_opts=opts.TooltipOpts(textstyle_opts=opts.TextStyleOpts(align='center'),formatter='{a}'+'<br/>'+'{b}: {c} ({d}%)')).set_global_opts(title_opts=opts.TitleOpts(title='2018年北京全年空气质量情况', pos_left='center'),legend_opts=opts.LegendOpts(orient='vertical', pos_top='5%', pos_left='2%'),)
)
pie.render("result/8_17.html")

大数据可视化(八)数据可视化中的交互相关推荐

  1. 使用FoundationDB高效地将SQL数据映射到NoSQL存储系统中

    NoSQL数据库 --FoundationDB的键-值存储系统 FoundationDB是一个分布式的键-值存储系统,支持全局ACID事务操作,并且性能出众.在安装系统时,可以指定数据分发的级别.数据 ...

  2. ECharts数据可视化项目-大屏数据可视化【持续更新中】

    ECharts数据可视化项目-大屏数据可视化[持续更新中] 文章目录 ECharts数据可视化项目-大屏数据可视化[持续更新中] 一. 数据可视化ECharts使用 二.技术栈 三.数据可视化 四.可 ...

  3. 八折进行中 | 暌违一载,2018 中国大数据技术大会(BDTC)首轮讲师阵容震撼来袭!...

    暌违一载,今又相约.作为年度技术趋势与行业应用的风向标,2018 中国大数据技术大会(BDTC 2018)携主题"大数据新应用"再度强势来袭,稳踏技术时代浪潮,势将引爆今冬技术圈. ...

  4. 八折进行中 | 2018 中国大数据技术大会(BDTC)首轮讲师阵容震撼来袭!

    暌违一载,今又相约.作为年度技术趋势与行业应用的风向标,2018 中国大数据技术大会(BDTC 2018)携主题"大数据新应用"再度强势来袭,稳踏技术时代浪潮,势将引爆今冬技术圈. ...

  5. axure可视化大屏模板200例 •axure模板 大屏可视化 •axure数据可视化原型 •axure可视化组件 •axure

    可视化axure原型可视化大屏模板200例,带动画效果,可直接复用 axure可视化大屏模板200例 axure可视化大屏模板200例数据可视化原型可视化组件下载-无极低码 axure模板 大屏可视化 ...

  6. python与excel做数据可视化-我在工作中是怎么玩数据的—数据可视化系列教程—Python篇...

    一. 为什么是Python? Python现在已经成为数据科学的语言!基于 Python 代码实现批量化,流程化的数据探索与汇报!按照地产大佬***的话讲--就是重复性的工作直接用Python搞定就可 ...

  7. 《数据科学与大数据分析——数据的发现 分析 可视化与表示》一2.3 第2阶段:数据准备...

    本节书摘来自异步社区<数据科学与大数据分析--数据的发现 分析 可视化与表示>一书中的第2章,第2.3节,作者[美]EMC Education Services(EMC教育服务团队),更多 ...

  8. 交通大数据应用细分_盈海科技 | 交通大数据可视化“掘金”数据价值

    面对日益拥堵的交通状况 智能交通布局虽在不断完善 但交通管理依旧收效甚微 问题究竟出在了哪里? 数据独立存储难以融合应用 数据内在规律难寻 数据可视化程度低 -- 问题繁多 困难重重 怎么办??? 交 ...

  9. 数据图表可视化_数据可视化十大最有用的图表

    数据图表可视化 分析师每天使用的最佳数据可视化图表列表. (List of best data visualization charts that Analysts use on a daily ba ...

最新文章

  1. 公司使用360安全产品造成的CRM系统故障!
  2. java中数据库连接池_Java中的数据库连接池
  3. android UI布局
  4. ArrayList、HashMap、HashSet是线程不安全的,高并发下如何解决?
  5. android客户端在多个界面切换时保持socket的链接的实例
  6. python3.5安装步骤-pycharm安装步骤
  7. 声压级和灵敏度的关系
  8. MySQL 基础理论面试题整理
  9. Flash Player的终章——赠予它的挽歌
  10. Java多线程编程 深入详解
  11. Polynomial Commitments代码实现【2】——lovesh/kzg-poly-commit
  12. Android 利用V4L2 调用camera
  13. 秋招来袭,想学习Java进大厂的小伙伴,这7点武林秘籍一定要点开看看!(附一线互联网大厂MySQL面试高频考点)
  14. elasticsearch最大节点数_记录 Elasticsearch 的 maximum shards open 问题
  15. 2021-12-18 迈向程序猿的第四十七步
  16. datastage中oracle组件,Datastage常用组件使用方法(详尽版)
  17. 12月15-16日:跟着猫叔写代码学习api接口开发小程序
  18. 微信24小时客服热线电话/如何转到人工服务办理
  19. vue使用el-tabs实现标签页(内存+vuex)
  20. controll层跳转页面_以SpringMVC注解的形式 从Controller跳到另一个Controller 实现登入页面的跳转...

热门文章

  1. 奢侈太后慈禧的起居生活
  2. ECharts数据可视化饼状图(环形图-进度半圆形)
  3. 使用requests爬取实习僧网站数据
  4. 使用ArchR分析单细胞ATAC-seq数据(第十二章)
  5. PaperWeekly第44期 | Kaggle求生
  6. Linux系统服务简述和作用
  7. 【数学】用C语言实现函数的定积分—— 把 “定积分定义计算出的值” 和 “牛顿-莱布尼兹公式计算出的值” 两者进行误差比较
  8. 尚硅谷-SpringMVC篇
  9. 【主线任务】掌握数据的力量!数据科学家们速速来战!
  10. 分享一个国内可用的ChatGPT网站,免费无限制,支持AI绘画 - AI 百晓生