iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >50 行 Python 代码制作一个数据大屏!
  • 611
分享到

50 行 Python 代码制作一个数据大屏!

代码工具Python 2023-05-14 21:05:39 611人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

PyWEBio介绍python当中的PywebIO模块可以帮助开发者在不具备html和javascript的情况下也能够迅速构建Web应用或者是基于浏览器的GUI应用,PywebIO还可以和一些常用的可视化模块联用,制作成一个可视化大屏。我

50 行 Python 代码制作一个数据大屏!

PyWEBio介绍

python当中的PywebIO模块可以帮助开发者在不具备htmljavascript的情况下也能够迅速构建Web应用或者是基于浏览器的GUI应用,PywebIO还可以和一些常用的可视化模块联用,制作成一个可视化大屏。

我们先来安装好需要用到的模块。

pip install pywebio
pip install cutecharts

上面提到的cutecharts模块是Python当中的手绘风格的可视化神器,相信大家对此并不陌生,我们来看一下它与PywebIO模块结合绘制图表的效果是什么样的,代码如下:

from cutecharts.charts import Bar
from cutecharts.faker import Faker
from pywebio import start_server
from pywebio.output import put_html
def bar_base():
chart = Bar("Bar-基本示例", width="100%")
chart.set_options(labels=Faker.choose(), x_label="I'm xlabel", y_label="I'm ylabel")
chart.add_series("series-A", Faker.values())
put_html(chart.render_notebook())
if __name__ == '__main__':
start_server(bar_base, debug=True, port=8080)

output

50 行 Python 代码制作一个数据大屏!

上述代码的逻辑并不难看懂,先实例化一个直方图Bar()对象,然后填上X轴对应的标签以及对应Y轴的值,最后调用PywebIO模块当中的put_html()方法,我们会看到一个URL。

50 行 Python 代码制作一个数据大屏!

在浏览器当中输入该URL便能够看到我们绘制出来的图表。当然在cutecharts模块当中有Page()方法来将各个图表都连接起来,做成一张可视化大屏,代码如下:

def bar_base():
chart = Bar("Bar-基本示例", width="100%")
chart.set_options(labels=Faker.choose(), x_label="I'm xlabel", y_label="I'm ylabel")
chart.add_series("series-A", Faker.values())
return chart
def pie_base() -> Pie:
chart = Pie("标题", width="100%")
........
return chart
def radar_base() -> Radar:
chart = Radar("标题", width="100%")
......
return chart
def line_base() -> Line:
chart = Line("标题", width="100%")
......
return chart
def main():
page = Page()
page.add(pie_base(), pie_base(), radar_base(), line_base(), bar_base())
put_html(page.render_notebook())
if __name__ == '__main__':
start_server(main, debug=True, port=8080)

output

50 行 Python 代码制作一个数据大屏!

PywebIO和Pyecharts的组合

当PywebIO模块遇上Pyecharts模块时,代码的逻辑基本上和cutecharts的一致,先是实例化一个图表的对象,然后在添加完数据以及设置好图表的样式之后,最后调用put_html()方法将最后的结果在浏览器中呈现。

# `chart` 是你的图表的实例
pywebio.output.put_html(chart.render_notebook())

在这个案例当中我们调用Pyecharts当中的组合组件,分别来呈现绘制完成的图表,代码如下:

def bar_plots():
bar = (
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("商家A", Faker.values())
.add_yaxis("商家B", Faker.values())
.set_global_opts(title_opts=opts.TitleOpts(title="Grid-Bar"))
)
return bar
def line_plots():
line = (
Line()
.add_xaxis(Faker.choose())
.add_yaxis("商家A", Faker.values())
.add_yaxis("商家B", Faker.values())
.set_global_opts(
title_opts=opts.TitleOpts(title="Grid-Line", pos_top="48%"),
legend_opts=opts.LegendOpts(pos_top="48%"),
)
)
return line
def main():
c = (
Grid()
.add(bar_plots(), grid_opts=opts.GridOpts(pos_bottom="60%"))
.add(line_plots(), grid_opts=opts.GridOpts(pos_top="60%"))
)
c.width = "100%"
put_html(c.render_notebook())
if __name__ == '__main__':
start_server(main, debug=True, port=8080)

output

50 行 Python 代码制作一个数据大屏!

PywebIO和Bokeh的组合

PywebIO和Bokeh的组合从代码的语法上来看会稍微和上面的不太一样,具体的不同如下所示:

from bokeh.io import output_notebook
from bokeh.io import show
output_notebook(notebook_type='pywebio')
fig = figure(...)
...
show(fig)

例如我们来绘制一个简单的直方图,代码如下:

def bar_plots():
output_notebook(notebook_type='pywebio')
fruits = ['Apples', 'Pears', 'Nectarines', 'Plums', 'Grapes', 'Strawberries']
counts = [5, 3, 4, 2, 4, 6]
p = figure(x_range=fruits, plot_height=350, title="Fruit Counts",
 toolbar_location=None, tools="")
p.vbar(x=fruits, top=counts, width=0.9)
p.xgrid.grid_line_color = None
p.y_range.start = 0
show(p)
if __name__ == "__main__":
start_server(bar_plots, debug=True, port=8080)

output

50 行 Python 代码制作一个数据大屏!

基于浏览器的GUI应用

除了将Pywebio模块与常用的可视化模块结合用于各种图表的绘制之外,我们还能用它构建一个基于浏览的图形界面,我们先来做一个最为简单的应用,代码如下:

from pywebio.input import *
from pywebio.output import *
data = input_group(
"用户数据",
[
input("请问您的名字是: ", name="name", type=TEXT),
input("输入您的年龄", name="age", type=NUMBER),
radio(
"哪个洲的",
name="continent",
options=[
"非洲",
"亚洲",
"澳大利亚",
"欧洲",
"北美洲",
"南美洲",
],
),
checkbox(
"用户隐私条例", name="agreement", options=["同意"]
),
],
)
put_text("表格输出:")
put_table(
[
["名字", data["name"]],
["年龄", data["age"]],
["位置", data["continent"]],
["条例", data["agreement"]],
]
)

output

50 行 Python 代码制作一个数据大屏!

当中部分函数方法的解释如下:

  • input(): 文本内容的输入
  • radio(): 代表的是单选框
  • checkbox(): 代表的是多选框
  • input_group(): 代表的是输入组
  • put_table(): 代表的是输出组
  • put_text(): 代表的是输出文本

以上就是50 行 Python 代码制作一个数据大屏!的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 50 行 Python 代码制作一个数据大屏!

本文链接: https://www.lsjlt.com/news/205631.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 50 行 Python 代码制作一个数据大屏!
    PywebIO介绍Python当中的PywebIO模块可以帮助开发者在不具备HTML和JavaScript的情况下也能够迅速构建Web应用或者是基于浏览器的GUI应用,PywebIO还可以和一些常用的可视化模块联用,制作成一个可视化大屏。我...
    99+
    2023-05-14
    代码 工具 Python
  • 怎么使用Python制作一个数据大屏
    本篇内容主要讲解“怎么使用Python制作一个数据大屏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Python制作一个数据大屏”吧!PywebIO介绍Python当中的PywebIO模...
    99+
    2023-07-06
  • python中的PywebIO模块制作一个数据大屏
    目录一、PywebIO介绍二、PywebIO和Pyecharts的组合三、PywebIO和Bokeh的组合四、基于浏览器的GUI应用一、PywebIO介绍 Python当中的Pywe...
    99+
    2024-04-02
  • 怎么用python中的PywebIO模块制作一个数据大屏
    这篇文章主要介绍了怎么用python中的PywebIO模块制作一个数据大屏的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用python中的PywebIO模块制作一个数据大屏文章都会有所收获,下面我们一起来看...
    99+
    2023-06-29
  • 十行Python代码制作一个视频倒放神器
    目录导语正文源码如下效果展示总结补充导语 大家好,我是栗子同学! 今天给大家分享一个好玩的东西 让时光倒流——当当当,其实就是让视频倒放而已 正常的视频如下 ...
    99+
    2024-04-02
  • 一行Python代码的强大性
    这篇文章主要讲解了“一行Python代码的强大性”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“一行Python代码的强大性”吧!1. 交换变量如果大学学过C/C++编程课的同学,对于交换变量...
    99+
    2023-06-16
  • Python烟花代码,用Python制作一个烟花特效
    Python实现浪漫的烟花特效 现在很多地方都不能放烟花了,既然看不到, 那作为程序猿的我们还不能自己用代码做一个吗? 今天就带大家用代码做一个烟花特效吧。 pygame介绍 关于Pygam...
    99+
    2023-09-25
    python pygame 开发语言
  • python代码大全心形:一行Python代码画心型
    这是一行Python代码画心型的方法:```pythonprint('\n'.join([''.jo...
    99+
    2023-09-22
    python
  • [python]写一个统计代码行数的co
     某一天过去SY那儿,突发奇想说要写一个统计代码行数的小程序。说干就干,约定了一个时间——周六,来把这个想法给实现了。当然这个项目人家做过的也未必,google一下,果然有非常优秀的win下面的代码统计工具sourceCounter。当然我...
    99+
    2023-01-31
    行数 代码 python
  • 8个数据清洗Python代码,复制可用,
    最近,大数据工程师Kin Lim Lee在Medium上发表了一篇文章,介绍了8个用于数据清洗的Python代码。 数据清洗,是进行数据分析和使用数据训练模型的必经之路,也是最耗费数据科学家/程序员精力的地方。 这些用于数据清洗的代码有两...
    99+
    2023-01-30
    代码 数据 Python
  • springboot+mybatis+echarts +mysql制作数据可视化大屏
    作者水平低,如有错误,恳请指正!谢谢!!!!! 目录 一、数据源 二、所需工具 三、项目框架搭建 3.1新建springboot项目 3.1.1进入官网 3.1.2创建项目 四、后端代码编写 4.1根据需求修改pom.xml 4.2配置数...
    99+
    2023-09-02
    大数据 数据仓库 javascript
  • 用pycharm怎么运行一个python代码
    在 pycharm 中运行 python 代码需要以下步骤:确保 pycharm 和 python 解释器已正确设置。打开要运行的代码文件。选择用于运行代码的运行配置。通过“运行文件”或...
    99+
    2024-04-17
    python pycharm
  • springboot+echarts +mysql制作数据可视化大屏(四图)
    作者水平低,如有错误,恳请指正!谢谢!!!!! 项目简单,适合大学生参考 分类专栏还有其它的可视化博客哦! 专栏地址:https://blog.csdn.net/qq_55906442/category_11906804.htmlspm=1...
    99+
    2023-10-21
    spring boot echarts mysql 大数据 java
  • 如何使用Python代码制作一个视频倒放神器
    这篇文章主要介绍了如何使用Python代码制作一个视频倒放神器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。导语正常的视频如下倒放视频如下效果很赞吧,等你学会了这个,你才会发...
    99+
    2023-06-29
  • 只用20行Python代码实现屏幕录制功能
    目录一、模块安装二、设计思路三、代码实现四、运行方法五、完整代码六、故事结尾一、模块安装 首先,我们需要用到两个python的两个模块,win32gui和PyQt5 1.pip in...
    99+
    2024-04-02
  • Pygame代码 制作一个贪吃蛇小游戏
    目录用到的 Pygame 函数创建屏幕创建 snake使 snake 动起来处理 Game Over增加食物snake 的成长展示得分 用到的 Pygame 函数 贪吃蛇小游戏用到的...
    99+
    2024-04-02
  • Python如何17行代码画一个爱心
    🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0&...
    99+
    2023-10-18
    python 开发语言 笔记 经验分享 virtualenv
  • Python一行代码实现一个文件服务器
    简述 Python有很多简单的工具库可用,其中有一个非常实用的工具库: SimpleHTTPServer 一行代码建立一个简单的python HTTP文件服务器 使用方法 $python -m SimpleHTTPServer S...
    99+
    2023-01-31
    代码 文件服务器 Python
  • 短短几行Python代码制作的GIF动图
    前言想知道怎么用Python代码与动画结合起来,制作GIF动图,并展示给其他人看呢?gifmaze可以帮助你很好的制作GIF动图,效果超棒, 比inter,pyglet和pyqt同比之下,还要好一点,它们两个不能直接发布在网上。gifmaz...
    99+
    2023-06-02
  • 进行数据处理的6个 Python 代码块分享
    目录1、选取有空值的行2、快速替换列值3、对列进行分区4、将一列分为多列5、中文筛选6、更改列的位置前言: 大家好,今天和大家分享自己总结的6个常用的 Python 数据处理代码,对...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作