10数据可视化基础 (4)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if event.button != 1: return
x, y = event.xdata, event.ydata axzoom.set_xlim(x - 0.1, x + 0.1) axzoom.set_ylim(y - 0.1, y + 0.1) figzoom.canvas.draw() figsrc.canvas.mpl_connect('button_press_event', onpress) plt.show()
04
本节小结
本节总结
1、matplotlib实现交互的基础 2、matplotlib实现交互的方法 3、matplotlib实现交互示例 4、其它交互的技术
谢谢观看
browser = PointBrowser() //关联事件 fig.canvas.mpl_connect('pick_event', browser.onpick) fig.canvas.mpl_connect('key_press_event', browser.onpress)
matplotlib实现选择——结果
回调函数(callback) 自定义的处理用户触发的事件的业务逻辑
事件连接(Event connections) FigureCanvas的mpl_connect()和mpl_disconnect()
matplotlib——基本示例
fig = plt.figure() ax = fig.add_subplot(111) ax.plot(np.random.rand(10)) // 定义回调函数 def onclick(event):
大数据可视化技术 第八章
数据可视化中的交互
课前回顾 数据可视化概述 交互技术
• (1)选择技术 • (2)导航技术 • (3)过滤技术 • (4)概览+细节技术
01 02
03
CONTENT
04 交互技术示例
04
交互示例
matplotlib——交互基础
事件(event) 用户触发的事件:键盘事件、鼠标事件等
matplotlib实现缩放——结果
ECharts3——关联技术
myChart.on('updateAxisPointer', function (event) { var xAxisInfo = event.axesInfo[0]; if (xAxisInfo) { var dimension = xAxisInfo.value + 1; myChart.setOption({ series: { id: 'pie', label: { formatter: '{b}: {@[' + dimension + ']} ({d}%)'}, encode: { value: dimension, tooltip: dimension } }
matplotlib——常见事件
事件名
Hale Waihona Puke Baidu类名
'button_press_event' 'button_release_event'
MouseEvent MouseEvent
'motion_notify_event'
MouseEvent
'key_press_event'
KeyEvent
'key_release_event'
KeyEvent
'pick_event'
PickEvent
‘resize_event’
ResizeEvent
描述
鼠标按钮被按下 鼠标按钮被释放 鼠标移动 按键被按下 按键被释放 画布中的对象被选中 图形画布大小改变
matplotlib实现选择——示例
主函数
//生成随机数 X = np.random.rand(100, 200) xs = np.mean(X, axis=1) ys = np.std(X, axis=1) //生成子图 fig, (ax, ax2) = plt.subplots(2, 1) //绘制 line, = ax.plot(xs, ys, 'o', picker=5)
matplotlib实现缩放——示例
figsrc, axsrc = plt.subplots() figzoom, axzoom = plt.subplots() axsrc.scatter(x, y, s, c) axzoom.scatter(x, y, s, c) def onpress(event):
print('button=%d, x=%d, y=%d, xdata=%f, ydata=%f' % (event.button, event.x, event.y, event.xdata, event.ydata))
// 连接事件 cid = fig.canvas.mpl_connect('button_press_event', onclick) // 取消关联 fig.canvas.mpl_disconnect(cid)
x, y = event.xdata, event.ydata axzoom.set_xlim(x - 0.1, x + 0.1) axzoom.set_ylim(y - 0.1, y + 0.1) figzoom.canvas.draw() figsrc.canvas.mpl_connect('button_press_event', onpress) plt.show()
04
本节小结
本节总结
1、matplotlib实现交互的基础 2、matplotlib实现交互的方法 3、matplotlib实现交互示例 4、其它交互的技术
谢谢观看
browser = PointBrowser() //关联事件 fig.canvas.mpl_connect('pick_event', browser.onpick) fig.canvas.mpl_connect('key_press_event', browser.onpress)
matplotlib实现选择——结果
回调函数(callback) 自定义的处理用户触发的事件的业务逻辑
事件连接(Event connections) FigureCanvas的mpl_connect()和mpl_disconnect()
matplotlib——基本示例
fig = plt.figure() ax = fig.add_subplot(111) ax.plot(np.random.rand(10)) // 定义回调函数 def onclick(event):
大数据可视化技术 第八章
数据可视化中的交互
课前回顾 数据可视化概述 交互技术
• (1)选择技术 • (2)导航技术 • (3)过滤技术 • (4)概览+细节技术
01 02
03
CONTENT
04 交互技术示例
04
交互示例
matplotlib——交互基础
事件(event) 用户触发的事件:键盘事件、鼠标事件等
matplotlib实现缩放——结果
ECharts3——关联技术
myChart.on('updateAxisPointer', function (event) { var xAxisInfo = event.axesInfo[0]; if (xAxisInfo) { var dimension = xAxisInfo.value + 1; myChart.setOption({ series: { id: 'pie', label: { formatter: '{b}: {@[' + dimension + ']} ({d}%)'}, encode: { value: dimension, tooltip: dimension } }
matplotlib——常见事件
事件名
Hale Waihona Puke Baidu类名
'button_press_event' 'button_release_event'
MouseEvent MouseEvent
'motion_notify_event'
MouseEvent
'key_press_event'
KeyEvent
'key_release_event'
KeyEvent
'pick_event'
PickEvent
‘resize_event’
ResizeEvent
描述
鼠标按钮被按下 鼠标按钮被释放 鼠标移动 按键被按下 按键被释放 画布中的对象被选中 图形画布大小改变
matplotlib实现选择——示例
主函数
//生成随机数 X = np.random.rand(100, 200) xs = np.mean(X, axis=1) ys = np.std(X, axis=1) //生成子图 fig, (ax, ax2) = plt.subplots(2, 1) //绘制 line, = ax.plot(xs, ys, 'o', picker=5)
matplotlib实现缩放——示例
figsrc, axsrc = plt.subplots() figzoom, axzoom = plt.subplots() axsrc.scatter(x, y, s, c) axzoom.scatter(x, y, s, c) def onpress(event):
print('button=%d, x=%d, y=%d, xdata=%f, ydata=%f' % (event.button, event.x, event.y, event.xdata, event.ydata))
// 连接事件 cid = fig.canvas.mpl_connect('button_press_event', onclick) // 取消关联 fig.canvas.mpl_disconnect(cid)