在当今数据驱动的时代,能够快速地将数据可视化并通过数据分析平台(即WEB应用)共享给其他人,是一项极其重要的技能。
Python以其强大的数据处理能力和丰富的库,成为了数据分析和WEB开发的优选语言。下面,我将教会大家如何使用Python搭建一个简单的可视化WEB应用。一、生成数据集
首先,我们需要一个包含人口数量、GDP、人均GDP的数据集。这里我们手动创建一个简单的数据集,包含中国、美国、印度、俄罗斯、巴西、德国的信息。
import pandas as pd
data = {
'Country': ['China', 'USA', 'India', 'Russia', 'Brazil', 'Germany'],
'GDP': [19.91, 27.39, 3.76, 1.57, 1.66, 4.05], # 单位:万亿美元(估算值)
'GDP_per_capita': [13930, 82600, 2730, 10800, 7600, 49200], # 单位:美元(估算值)
'Population': [1409340, 332446, 1363430, 143500, 213993, 83017] # 单位:千人(估算值)
}
df = pd.DataFrame(data)
注意,此处的数据仅为展示,如要获取精确的数据可以利用pandas_datareader这个库进行下载,或者通过世界银行的官网进行下载。
二、搭建可视化WEB应用
为了快速搭建WEB应用,我们将使用Panel库轻松地创建交互式WEB应用。如果还未安装Panel,可以在Anaconda Terminal中输入下列命令进行安装:
pip install panel hvplot
接下来,我们将使用Panel和hvPlot库来创建一个可交互的数据筛选界面。
# 创建WEB应用
import panel as pn
import holoviews as hv
from holoviews import opts
hv.extension('bokeh')
# 创建一个筛选器来选择国家,并初始化一个列表来跟踪已选择的国家
selected_countries = []
country_selector = pn.widgets.Select(name='Country', options=df['Country'].tolist())
def update_plots(country, max_countries=5):
global selected_countries
if country not in selected_countries:
selected_countries.append(country)
if len(selected_countries) > max_countries:
selected_countries.pop(0) # 移除最早添加的国家以保持列表长度为max_countries
selected_data = df[df['Country'].isin(selected_countries)]
# 创建条形图
gdp_plot = hv.Bars(selected_data, kdims=['Country'], vdims=['GDP']).opts(
opts.Bars(title='GDP(万亿美元)', stacked=False, xrotation=90))
gdp_per_capita_plot = hv.Bars(selected_data, kdims=['Country'], vdims=['GDP_per_capita']).opts(
opts.Bars(title='GDP Per Capita(美元)', stacked=False, xrotation=90))
population_plot = hv.Bars(selected_data, kdims=['Country'], vdims=['Population']).opts(
opts.Bars(title='Population(千人)', stacked=False, xrotation=90))
return pn.Row(gdp_plot, gdp_per_capita_plot, population_plot)
# 绑定选择器与绘图函数,并设置watch参数为True以监听选择器的变化
dynamic_plots = pn.bind(update_plots, country=country_selector, watch=True)
# 创建一个Panel应用并显示
app = pn.Column(country_selector, dynamic_plots)
app.servable()
pn.serve(app)
在上面的代码中:
我们使用pn.bind来创建响应式函数。这样,每当选择器的值变化时,update_plots函数都会被调用。
selected_countries列表用于跟踪用户选择的国家。当用户选择一个新的国家时,它会被添加到列表中。如果列表长度超过5,最早添加的国家将被移除。
update_plots函数根据selected_countries列表中的数据来绘制条形图。
三、运行WEB应用
运行上述代码后,你将会看到你的默认浏览器打开了一个可交互的数据筛选界面,这就是我们创造的WEB应用。
我们可以通过下拉框选择感兴趣的国家,并查看相应的数据和图表吗,来看看最终的效果吧:
通过以上步骤,我们成功地使用Python搭建了一个简单的可视化WEB应用。这个应用允许用户通过交互来筛选数据,并实时查看相应的图表。Python的丰富库资源和简洁语法使得这一过程变得非常快速和高效。
以上就是“Python教程:搭建简易的可视化Web应用!”的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/12102/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取