交互式仪表板!Python轻松完成!

简介: 在本篇内容中,ShowMeAI将给大家讲解使用 📘ipywidget 模块创建交互式仪表板。

💡 引言
在本篇内容中,ShowMeAI将给大家讲解使用 📘ipywidget 模块创建交互式仪表板。
0.1.png

我们本次用到的数据集是 🏆Kaggle 的 CardioGoodFitness,大家可以通过 ShowMeAI 的百度网盘地址下载。

🏆 实战数据集下载(百度网盘):公众号『ShowMeAI研究中心』回复『实战』,或者点击 这里 获取本文 [41]ipywidgets:使用Python创建交互式仪表板 『CardioGoodFitness 数据集』

⭐ ShowMeAI官方GitHub:github.com/ShowMeAI-Hu…

首先,我们需要导入所需的模块。
import pandas as pd
import ipywidgets
import seaborn as sns
import matplotlib.pyplot as plt
复制代码
我们先看一下数据变量。数据中包含 2 个连续变量,收入 Income 和英里数 Miles。
0.2.png

💡 看板Demo实现:了解Miles的分布
💦 准备工作
📘ipywidget 模块包含了很多可用的小部件。在这个演示中,我们将使用下拉框选择类别数据,以便更好地了解里程分布。我们将选择箱线图来绘制每个类别的里程数据。
%matplotlib widget

Drop down for boxplot variable to be select

drop_down_name = ipywidgets.Dropdown(options=list(df.drop(['Miles','Income'],axis=1).columns),

                            value=list(df.drop(['Miles','Income'],axis=1).columns)[0],
                            description='Columns:',
                            disabled=False)

复制代码
接下来,我们可以创建一个函数,允许输入用于绘制英里箱线图的列名称。

selected_vals = column used to plot

def boxplot(selected_vals):

plt.close('all')
fig = plt.figure(figsize=(9,5))
plt.style.use('seaborn')
sns.boxplot(df[selected_vals],df['Miles'])
plt.title('Boxplot of miles for' + selected_vals)
plt.show()

复制代码
之后,我们需要创建一个 📘layout/布局,Jupyter 交互式小部件具有一个 layout 属性,包含了许多影响小部件布局的 CSS 属性。
最简单的自定义是 HBox,它是一个水平布局的选择器,而 VBox 代表一个垂直布局的选择器。下面是 HBox 或 VBox 布局的示例。

0.3.png

下面我们准备输入和输出布局的显示。

layout for filtering

ui2 = ipywidgets.HBox([drop_down_name])

link your function to your input

out2 = ipywidgets.interactive_output(boxplot,

                                 {'selected_vals' : drop_down_name})

display your box plot

display(ui2,out2)
复制代码
0.4.png

上面散点图的输入是 x、y 和色调。因为每个变量都是一个选择,我们使用了下拉框。
💦 输入设计、选项、值和要定义的描述

dropbox select x axis

drop_down_x = ipywidgets.Dropdown(options=list(df.columns),

                            value=list(df.columns)[0],
                            description='X variable:',
                            disabled=False)

dropbox select y axis

drop_down_y = ipywidgets.Dropdown(options=list(['Miles','Income']),

                            value=list(['Miles','Income'])[0],
                            description='Y variable:',
                            disabled=False)

dropbox select category

drop_down_category= ipywidgets.Dropdown(options=list(df.drop(['Miles','Income'],axis=1).columns),

                            value=list(df.drop(['Miles','Income'],axis=1).columns)[0],
                            description='Category:',
                          disabled=False)

复制代码
💦 散点图绘制

scatter plot function

def scatter(x,y,category):

plt.close('all')
fig = plt.figure(figsize=(9,5))
plt.style.use('seaborn')
sns.scatterplot(data=df,x=x,y=y,hue=category)
plt.title('Scatterplot of ' +x+' versus '+ y)
#plt.xlabel('Date')
plt.show()

复制代码
💦 显示HBox或VBox的选择器布局

display the layout of filtering

ui3 = ipywidgets.HBox([drop_down_x,drop_down_y,drop_down_category])
复制代码
💦 将绘图与选择器相关联

related the plot link to filtering

out3 = ipywidgets.interactive_output(scatter,

                                 {'x' : drop_down_x,
                                 'y': drop_down_y,
                                 'category':drop_down_category})

复制代码
💦 显示选择后的输入和输出

display the input and output

display(ui3,out3)
复制代码

0.5.png

相关文章
|
7月前
|
数据可视化 数据挖掘 UED
Python中的数据可视化:使用Matplotlib创建交互式图表
传统的数据可视化工具通常只能生成静态图表,而在数据分析和展示中,交互式图表能够提供更丰富的用户体验和更深入的数据探索。本文将介绍如何利用Python中的Matplotlib库创建交互式图表,让数据分析变得更加生动和直观。
|
1月前
|
数据可视化 JavaScript 前端开发
Python中交互式Matplotlib图表
【10月更文挑战第20天】Matplotlib 是 Python 中最常用的绘图库之一,但默认生成的图表是静态的。通过结合 mpld3 库,可以轻松创建交互式图表,提升数据可视化效果。本文介绍了如何使用 mpld3 在 Python 中创建交互式散点图、折线图和直方图,并提供了详细的代码示例和安装方法。通过添加插件,可以实现缩放、平移和鼠标悬停显示数据标签等交互功能。希望本文能帮助读者掌握这一强大工具。
|
7月前
|
Python
如何使用Python的Plotly库创建交互式图表?
Plotly是Python的交互式图表库,支持多种图表类型,如折线图、散点图、柱状图。使用步骤包括安装库、导入模块、准备数据、创建图表对象、添加数据和设置属性,最后显示或保存图表。
75 6
|
7月前
|
JSON JavaScript 数据可视化
数据可视化:将Python的Pandas与Vue结合展示交互式图表
【4月更文挑战第10天】本文探讨了如何利用Python的Pandas库和前端框架Vue.js创建交互式数据可视化应用。通过Pandas进行数据处理和分析,Vue.js构建用户界面,结合两者可实现动态图表展示。步骤包括数据准备、转换为JSON、创建Vue项目、发送数据请求、渲染图表、添加交互性和优化性能。这种结合为数据理解和探索提供了高效、用户友好的解决方案,适应于数据爱好者和专家,预示着未来数据可视化将更智能、互动。
347 1
|
7月前
|
Python
如何使用Python的Plotly库创建交互式图表?
Plotly是Python的交互式图表库,支持多种图表类型。安装Plotly后,导入graph_objects和express模块。准备数据,然后使用Figure()或px.line()创建图表对象。通过add_trace()添加数据,设置属性,并用show()或write_html()展示或保存图表。以下是一个创建交互式折线图的简单示例,展示了数据准备、对象创建、属性设置及显示过程。Plotly还支持高级功能如子图、多轴和动画,适用于复杂需求。
44 0
|
7月前
|
自然语言处理 数据可视化 Python
python主题建模可视化LDA和T-SNE交互式可视化
python主题建模可视化LDA和T-SNE交互式可视化
|
7月前
|
机器学习/深度学习 人工智能 IDE
Python是一种高级、解释型、交互式和面向对象的脚本语言
Python是一种高级、解释型、交互式和面向对象的脚本语言
73 2
|
Python
如何在交互式环境中执行Python程序
相信接触过Python的小伙伴们都知道运行Python脚本程序的方式有多种,目前主要的方式有:交互式环境运行、命令行窗口运行、开发工具上运行等,其中在不同的操作平台上还互不相同。
1147 0