python交互式和文件式区别_Python中的交互式数据可视化与Bokeh(系列五)

u=1553489315,3873325937&fm=173&app=49&f=JPEG?w=640&h=451&s=10BE78325999FFEB091052E40300E022

使用图例突出显示数据

这将我们带到本教程中的最终交互性示例:交互式图例。

在“ 使用字形绘制数据”部分中,您了解了在创建绘图时实现图例是多么容易。有了这个传奇,增加交互性只是分配一个问题click_policy。使用单行代码,您可以使用图例快速添加任何一种hide或mute数据的功能。

在这个例子中,你会看到两个相同的散点图,比较勒布朗詹姆斯和凯文杜兰特的比赛点数和篮板数。唯一的区别是,一个将使用a hide作为其click_policy,而另一个使用mute。

第一步是配置输出并设置数据,从player_statsDataFrame 为每个玩家创建一个视图:

# Bokeh Librariesfrom bokeh.plotting import figure, showfrom bokeh.io import output_filefrom bokeh.models import ColumnDataSource, CDSView, GroupFilterfrom bokeh.layouts import row# Output inline in the notebookoutput_file('lebron-vs-durant.html', title='LeBron James vs. Kevin Durant')# Store the data in a ColumnDataSourceplayer_gm_stats = ColumnDataSource(player_stats)# Create a view for each playerlebron_filters = [GroupFilter(column_name='playFNm', group='LeBron'), GroupFilter(column_name='playLNm', group='James')]lebron_view = CDSView(source=player_gm_stats, filters=lebron_filters)durant_filters = [GroupFilter(column_name='playFNm', group='Kevin'), GroupFilter(column_name='playLNm', group='Durant')]durant_view = CDSView(source=player_gm_stats, filters=durant_filters)在创建图形之前,可以将图形,标记和数据中的公共参数合并到字典中并重复使用。这不仅可以在下一步中节省冗余,而且还可以在以后需要时提供一种简单的方法来调整这些参数:

# Consolidate the common keyword arguments in dictscommon_figure_kwargs = { 'plot_width': 400, 'x_axis_label': 'Points', 'toolbar_location': None,}common_circle_kwargs = { 'x': 'playPTS', 'y': 'playTRB', 'source': player_gm_stats, 'size': 12, 'alpha': 0.7,}common_lebron_kwargs = { 'view': lebron_view, 'color': '#002859', 'legend': 'LeBron James'}common_durant_kwargs = { 'view': durant_view, 'color': '#FFC324', 'legend': 'Kevin Durant'}现在已经设置了各种属性,可以以更简洁的方式构建两个散点图:

# Create the two figures and draw the datahide_fig = figure(**common_figure_kwargs, title='Click Legend to HIDE Data', y_axis_label='Rebounds')hide_fig.circle(**common_circle_kwargs, **common_lebron_kwargs)hide_fig.circle(**common_circle_kwargs, **common_durant_kwargs)mute_fig = figure(**common_figure_kwargs, title='Click Legend to MUTE Data')mute_fig.circle(**common_circle_kwargs, **common_lebron_kwargs, muted_alpha=0.1)mute_fig.circle(**common_circle_kwargs, **common_durant_kwargs, muted_alpha=0.1)请注意,mute_fig有一个额外的参数调用muted_alpha。当mute用作标记时,此参数控制标记的不透明度click_policy。

最后,click_policy设置每个图,它们以水平配置显示:

# Add interactivity to the legendhide_fig.legend.click_policy = 'hide'mute_fig.legend.click_policy = 'mute'# Visualizeshow(row(hide_fig, mute_fig))

一旦传说中的地方,所有你需要做的是分配任一hide或mute到人物的click_policy属性。这将自动将您的基本图例转换为交互式图例。

另请注意,特别是mute,LeBron James和Kevin Durant muted_alpha的相应circle字形中设置了附加属性。这决定了图例互动驱动的视觉效果。

有关Bokeh中所有事物交互的更多信息,在Bokeh用户指南中添加交互是一个很好的起点。

总结和后续步骤

恭喜!你已经完成了本教程的结尾。

您现在应该拥有一套很棒的工具来开始使用Bokeh将数据转换为漂亮的交互式可视化。

你学会了如何:

配置脚本以呈现为静态HTML文件或Jupyter Notebook实例化和自定义figure()对象使用字形构建可视化使用。访问和过滤您的数据 ColumnDataSource在网格和选项卡式布局中组织多个图添加不同形式的交互,包括选择,悬停操作,链接和交互式图例为了更好地探索Bokeh的功能,官方的Bokeh用户指南是深入了解更高级主题的绝佳场所。我还建议您查看Bokeh的画廊,了解大量的例子和灵感。

Bokeh 网站文档https://bokeh.pydata.org/en/latest/docs/reference.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值