0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python 使用Dash快速可视化数据

科技绿洲 来源:Python实用宝典 作者:Python实用宝典 2023-11-02 14:26 次阅读

还记得上篇文章我们采用Plotly去画出各式各样的图,这次我们就来讲讲,如何把这些图片展示在你的前端上。

Dash也是Plotly制作团队开源出来的一款dashboard开发平台,主要使用python写的,它主要可以将我们画出来的数据展示在网页上。Dash最大的优点就是你在生成前端的时候不需要写任何javascript代码(已经全在底层封装好,画图特效是react.js写的,有兴趣可以去研究一下源码),它可以直接使用Python代码将你之前在Plotly画出的图在网页上直接展示出来。

需要安装的库:

pip install plotly
pip install dash

下面我们来演示一个Dash的demo:

新建一个app.py文件,复制以下代码:

import dash
import dash_core_components as dcc
import dash_html_components as html

external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

app = dash.Dash(__name__, external_stylesheets=external_stylesheets)

app.layout = html.Div(children=[
    html.H1(children='Dash Demo', style={"text-align": "center"}),

    html.Div(children='''
        一款牛逼的Python开发的应用程序---------Dash
    ''',
             style={"text-align": "center", "color": "red"}),

    dcc.Graph(
        id='example-graph',
        figure={
            'data': [
                {'x': [1, 2, 3], 'y': [3, 4, 2], 'type': 'bar', 'name': '数据源A'},
                {'x': [1, 2, 3], 'y': [2, 3, 5], 'type': 'bar', 'name': '数据源B'},
            ],
            'layout': {
                'title': '数据展示'
            }
        }
    )
])

if __name__ == '__main__':
    app.run_server(debug=True)

运行效果:

图片

下面来说明一下,如何去使用Dash这个框架:

S1: 初始化

app = dash.Dash(__name__, external_stylesheets=external_stylesheets)

这句话主要用来初始化渲染Dash,可以按照你制定的样式进行渲染。

external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

代码中引用的网址是plotly自己的css样式,你也可以修改成你自己想要的其他样式,把这个css文件down到本地然后你可以对他进行修改。具体参考:

https://dash.plotly.com/external-resources

下面重点来了!

在页面上添加你想要添加的元素,首先我们需要初始化页面的布局:

app.layout = html.Div(children=[])

初始化完毕后我们就可以向这个布局中添加元素了,我们只需要在childern这个list中添加相应的页面元素即可:(注意:每个元素都在list中)

****S2: 添加标签

添加h1标题

html.H1(children='Dash Demo', style={"text-align": "center"}),

添加一个div

html.Div(children='一款牛逼的Python开发的应用程序---------Dash',
             style={"text-align": "center", "color": "red"}),

我们可以在里面添加style参数来制定它的样式。

****S3: 添加你画的图

Graph对象主要就是用来进行画图的,你只需要将画图的数据传递给figure参数即可。

dcc.Graph(
        id='example-graph',
        figure={
            'data': [
                {'x': [1, 2, 3], 'y': [3, 4, 2], 'type': 'bar', 'name': '数据源A'},
                {'x': [1, 2, 3], 'y': [2, 3, 5], 'type': 'bar', 'name': '数据源B'},
            ],
            'layout': {
                'title': '数据展示'
            }
        }
    )

这里说一下,plotly画出的每个对象都能直接当成参数传入。

我们看一个例子:选择我们上次画等高线图,直接插入画好的fig对象。

import plotly.graph_objects as go
fig = go.Figure(data=
        go.Contour(
            z=[[10, 10.625, 12.5, 15.625, 20],
               [5.625, 6.25, 8.125, 11.25, 15.625],
               [2.5, 3.125, 5., 8.125, 12.5],
               [0.625, 1.25, 3.125, 6.25, 10.625],
               [0, 0.625, 2.5, 5.625, 10]]
        ))
......... dcc.Graph(        id='example-graph',
        figure=fig
    )

图片

添加多个图:

图片

****S4: 添加常见的网页控件

输入框:

dcc.Input(id='my-id',
              value='2333',
              type='text'
              ),

图片

下拉框:

dcc.Dropdown(
        options=[
            {'label': 'New York City', 'value': 'NYC'},
            {'label': 'Montréal', 'value': 'MTL'},
            {'label': 'San Francisco', 'value': 'SF'}
        ],
        value='MTL'
    ),

图片

滑动条:

dcc.Slider(
        min=0,
        max=9,
        marks={i: 'level{}'.format(i) for i in range(10)},
        value=5,
    ),

图片

复选框:

dcc.Checklist(
    options=[
        {'label': 'New York City', 'value': 'NYC'},
        {'label': 'Montréal', 'value': 'MTL'},
        {'label': 'San Francisco', 'value': 'SF'}
    ],
    values=['MTL', 'SF']
)

MarkDown格式:

dcc.Markdown('''
Dash and Markdown

Dash supports [Markdown](http://commonmark.org/help).

Markdown is a simple way to write and format text.
It includes a syntax for things like **bold text** and *italics*,
[links](http://commonmark.org/help), inline `code` snippets, lists,
quotes, and more.
''')

****S5: 启动你的应用

if __name__ == '__main__':
    app.run_server(debug=True)

debug在调试的时候可以打开,部署在生产环境的时候记得改成Fasle,还有个参数use_reloader,如果你是在jupyter写代码,该参数需要设置成False。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7028

    浏览量

    89034
  • 可视化
    +关注

    关注

    1

    文章

    1194

    浏览量

    20942
  • python
    +关注

    关注

    56

    文章

    4797

    浏览量

    84687
  • DASH
    +关注

    关注

    0

    文章

    8

    浏览量

    2697
收藏 人收藏

    评论

    相关推荐

    数据可视化Python-matplotlib概述

    数据可视化(二):Python-matplotlib
    发表于 07-22 14:58

    python数据可视化的方法和代码

    Python数据可视化汇总
    发表于 10-14 14:59

    Python数据可视化专家的七个秘密

    分享 Python数据可视化专家的七个秘密
    发表于 05-15 06:43

    python数据可视化之画折线图

    python数据可视化之画折线图,散点图
    发表于 05-27 08:09

    Python数据可视化

    Python数据可视化:网易云音乐歌单
    发表于 07-19 08:30

    三维可视化的应用和优势

    ,为此三维可视化运维系统登场了。  三维可视化的应用  宏观场景可视化:在特定的环境中对随着时间推移而不断变化的目标实体进行检测,可以直观、灵活、逼真的展示所处区域的情景和环境,可以快速
    发表于 12-02 11:52

    经验分享|BI数据可视化报表布局——容器

    容器功能是一种用于数据可视化图表排版的功能,主要作用对图表进行有效的布局调整,或者用于巧妙在同一地方安排多个不同类型的数据可视化图表,供使用者点击切换浏览。目前,在奥威BI软件上一同有
    发表于 03-15 17:10

    Python拉勾网数据采集与可视化

    本文是先采集拉勾网上面的数据,采集的是Python岗位的数据,然后用Python进行可视化。主要涉及的是爬虫&
    的头像 发表于 03-13 14:18 3260次阅读
    <b class='flag-5'>Python</b>拉勾网<b class='flag-5'>数据</b>采集与<b class='flag-5'>可视化</b>

    使用Python可视化数据,机器人开发编程

    机器学习开发,与Mail.Ru Search数据分析负责人Egor Polusmak和Mail.Ru Group数据科学家Yury Kashnitsky一起探索如何使用Python可视化
    的头像 发表于 03-15 16:56 8989次阅读

    数据可视化的常用技术和并行与原位可视化方法分析

    数据可视化就是将抽象的“数据”以可见的形式表现出来,帮助人理解数据。大数据可视化相对传统的
    的头像 发表于 04-17 16:51 6432次阅读

    Python实现PLC数据可视化呈现于Web端

    现介绍另一种通过Python实现PLC数据可视化呈现于Web端的方案。
    的头像 发表于 08-30 11:27 7057次阅读
    <b class='flag-5'>Python</b>实现PLC<b class='flag-5'>数据</b><b class='flag-5'>可视化</b>呈现于Web端

    Python数据可视化编程实战

    Python数据可视化编程实战资料免费下载。
    发表于 06-01 14:37 29次下载

    使用arduino和python可视化你的比特币收益和损失

    电子发烧友网站提供《使用arduino和python可视化你的比特币收益和损失.zip》资料免费下载
    发表于 12-21 16:50 0次下载
    使用arduino和<b class='flag-5'>python</b><b class='flag-5'>可视化</b>你的比特币收益和损失

    使用Python来收集、处理和可视化人口数据

    如何使用Python这一流行的编程语言来收集、处理和可视化印度和中国的人口数据呢?本文将向你介绍一些基本的步骤和技巧,帮助你掌握Python进行可视
    的头像 发表于 06-21 17:08 1401次阅读
    使用<b class='flag-5'>Python</b>来收集、处理和<b class='flag-5'>可视化</b>人口<b class='flag-5'>数据</b>

    Python 可视化如何配色

    我们在利用Python进行数据可视化时,有着大量的高质量库可以用,比如: Matplotlib 、 seaborn 、 Plotly 、 Bokeh 、 ggplot 等等。但图表好不好看,配色占
    的头像 发表于 10-30 15:43 523次阅读
    <b class='flag-5'>Python</b> <b class='flag-5'>可视化</b>如何配色