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
    评论
SFTP(Secure File Transfer Protocol)是一种安全的文件传输协议,它通过SSH(Secure Shell)进行加密和身份验证。非交互式上传文件是指在不需要人工干预的情况下,通过脚本或程序自动上传文件到远程服务器。 要实现SFTP的非交互式上传文件,可以使用以下步骤: 1. 首先,确保你的系统上已经安装了OpenSSH客户端。如果没有安装,可以通过包管理器进行安装。 2. 在脚本或程序,使用SFTP命令来进行文件上传。SFTP命令的基本语法如下: ``` sftp [选项] [用户名@]主机名 ``` 3. 在SFTP会话,使用`put`命令来上传文件。`put`命令的语法如下: ``` put 本地文件路径 [远程文件路径] ``` 其,本地文件路径是要上传的文件在本地系统的路径,远程文件路径是要上传到远程服务器上的路径。如果不指定远程文件路径,则默认将文件上传到当前目录。 4. 在脚本或程序,可以使用重定向符号`>`将SFTP命令和参数写入一个文本文件,然后使用`-b`选项将该文本文件作为输入传递给SFTP命令。这样可以实现完全非交互式的上传过程。 下面是一个示例的非交互式上传文件的脚本: ```bash #!/bin/bash HOST="远程主机名" USERNAME="用户名" PASSWORD="密码" LOCAL_FILE="本地文件路径" REMOTE_FILE="远程文件路径" # 将SFTP命令和参数写入一个文本文件 echo "put $LOCAL_FILE $REMOTE_FILE" > sftp_commands.txt # 使用SFTP命令执行上传 sftp -b sftp_commands.txt $USERNAME@$HOST << EOF $PASSWORD EOF # 删除临时的SFTP命令文件 rm sftp_commands.txt ``` 请注意,上述示例使用了密码进行身份验证。为了安全起见,建议使用SSH密钥对进行身份验证,而不是密码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值