python做可视化大屏,python大屏大数据可视化电子看板
在Python中,我相信matplotlib和seabron是绘制图表最常用的模块。此外,还有一些用于动态交互的模块,如Plotly模块和Pyecharts模块。
今天推荐两个制作视觉大屏的库,分别叫hvPlot和Panel,都很不错。我喜欢记得收藏,关注,喜欢他们。
【注】完整的代码、数据和技术交流,在文末获得。
结合pandas和hvPlot生成交互式图表,使用Panel模块生成小组件,与图表配合使用,做成大数据可视化屏幕,更好的呈现数据。pandas hvPlot绘制图表,我们先导入一些要使用的模块,用pandas读取数据集。代码如下所示
#处理数据
将numpy作为np导入
进口熊猫作为pd
#使形象化
导入hvplot.pandas
将面板作为pn导入;pn.extension()
来自面板。模板导入黑暗主题默认情况下,熊猫绘制的所有图表都是用matplotlib模块后端的,因为不具备交互性,如下图所示。
sales=PD . read _ CSV( games _ sales . CSV )
sales.plot(kind=line ,x=Year ,y=售出单位(以百万计),color=orange ,grid=True,title= pokmon Game Sales );输出
代码中的kind参数对应于图表的类型,X参数表示要在X轴上使用的数据。类似地,我们还指定了标题、图表的颜色和其他参数,因此如果我们希望pandas以hvPlot作为后端来绘制图表,我们需要添加以下代码
PD . options . plotting . back end= holo views 让我们用下面的代码画出上面的图表
sales.plot(kind=line ,x=Year ,y=售出单位(百万),color=orange ,grid=True,title=Pokmon Game Sales )输出
通过最右边的工具栏,我们可以进行保存、放大/缩小、移动等操作。我们也可以同时组合几种图表,画在同一个图表上。
sales plot=sales . plot(kind= line ,x=Year ,y=销售量(百万),
color=orange ,grid=True,title=Pokmon游戏销量,
hover=False) * \
sales.plot(kind=scatter ,x=Year ,y=销售量(百万),
color=#c70000 ,hover_cols=Game )
salesplotoutput
我们分别画了两张图,散点图和折线图,用*有效地组合在一起。
做一个小组件。这一次,我们使用面板模块来生成一个类似的组件。代码如下所示
pok _ types=list(df . Type _ 1 . unique())pok _ Type=pn . widgets . select(name= Type ,options=pok _ types)pok _ Type output
我们结合这个组件来绘制一个图表,代码如下
viz 0=data _ pipeline[[ pokedex _ number , name ,
total_points]]。hvplot(kind=table ,title=Pokmons ,
宽度=400,高度=400)
viz 0输出
我们可以通过参数kind调整要绘制的图表的类型,通过宽度和高度参数调整图表的大小,通过title参数调整图表的标题。让我们画一张散点图。代码如下所示
viz 1=data _ pipeline . HV plot(x= weight _ kg ,y=height_m ,
by=type_2 ,kind= scatter ,
hover_cols=[name , type_1 , type_2],
宽度=600,高度=400,网格=True,
title=体重(kg)和身高(m)之间的关系,按类型
)
viz 1输出
另外,我们还可以用下面的代码画一个直方图。
data _ damage=data _ pipeline . iloc[:-18:]。平均值()。重命名(“损坏”)
viz 2=data _ Damage . HV plot(kind= bar ,c=Damage ,
Title=考虑取什么头衔会更好.,
rot=30,shared_axes=False,
colorbar=True,colormap=RdYlGn_r ,
)
viz 2输出
做一个大数据面板屏幕。接下来,我们将在一个大数据屏幕中显示上面绘制的所有图表。代码如下所示
template=pn . template . fastlisttemplate(theme=dark theme,
Title=数据面板,
侧栏=[
pn.pane.Markdown(#关于这个项目),
pn.pane.Markdown(####这个项目的数据来源是【ka ggle】(https://www。咔嚓。com/datasets/mariotormo/complete-pokemon-dataset-updated-090420)以及在【维基百科】(https://en。维基百科。org/wiki/pokmon _(video _ game _ series)# Reception)关于神奇宝贝使用HoloViz工具探索不同类型的可视化:【面板】(3359面板。全息即。org/)【hvPlot】(https://hvPlot。全息即。org/)),
pn.pane.jpg(图片的路径. jpg ,sizing_mode=scale_both ),
pn.pane.Markdown([图片的来源](https://unsplash。com/photos/dip 9 iiwuk 6 w)),
pn。窗格。降价(# #按类型筛选),
扑克类型
],
main=[pn .行(
pn 1000 .Column(viz0.panel(width=600,height=400,margin=(0,20))),
pn 1000 .列(pn .Row(viz1.panel(宽度=700,高度=250,边距=(0,20)),
pn 1000 .列(viz2.panel(宽度=700,高度=250),边距=(0,20)),
),
pn 1000 .Row(salesplot.opts(width=1400,height=200))
],
accent_base_color=#d78929 ,
header_background=#d78929 ,
sidebar_footer= br br a href=.开源代码库链接/a ,
main_max_width=100%
)
模板。servable();
template.show()输出
正在启动位于http://本地主机:63968散景。服务器。服务器。计算机网络服务器的服务器我们按照上述的链接来浏览器中打开,数据大屏面板就可以做好了,如下图所示
技术交流欢迎转载、收藏、有所收获点赞支持一下!数据、代码可以找我获取
目前开通了技术交流群,群友已超过2000人,添加时最好的备注方式为:来源兴趣方向,方便找到志同道合的朋友
方式1、发送如下图片至微信,长按识别,后台回复:加群;方式2、微信搜索公众号:Python学习与数据挖掘,后台回复:加群
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。