Dash学习记录1

Dash是用于构建Web分析应用程序的高效Python框架。Dash是写在Flask,Plotly.js和React.js之上,是使用纯Python的高度自定义用户界面构建数据可视化应用程序的理想选择。它特别适合使用Python处理数据的任何人。通过几个简单的模式,Dash提取了构建基于Web的交互式应用程序所需的所有技术和协议。 Dash非常简单,仅仅需要一个下午写Python代码就可以完成。

Dash应用程序在Web浏览器中呈现。可以将应用程序部署到服务器,然后通过URL共享它们。由于Dash应用程序是在Web浏览器中查看的,因此Dash本质上是跨平台且可移动的。Dash是一个开放源代码库,根据许可的MIT许可证发布。

dash安装

pip install dash==1.19.0

dash布局

Dash应用程序由两部分组成。第一部分是应用程序的“布局”,它描述了应用程序的外观。第二部分描述了应用程序的交互性。

示例

# -*- coding: utf-8 -*-

# Run this app with `python app.py` and
# visit http://127.0.0.1:8050/ in your web browser.

import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.express as px
import pandas as pd
import seaborn as sns

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

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

colors = {
    'background': '#4B0082',
    'text': '#7FDBFF'
}

# assume you have a "long-form" data frame
# see https://plotly.com/python/px-arguments/ for more options
df = pd.DataFrame({
    "Fruit": ["Apples", "Oranges", "Bananas", "Apples", "Oranges", "Bananas"],
    "Amount": [4, 1, 2, 2, 4, 5],
    "City": ["zh", "zh", "SF", "Montreal", "Montreal", "Montreal"]
})

df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species")

fig.show()


fig.update_layout(
    plot_bgcolor=colors['background'],
    paper_bgcolor=colors['background'],
    font_color=colors['text']
)

app.layout = html.Div(style={'backgroundColor': colors['background']}, children=[
    html.H1(
        children='Hello Dash',
        style={
            'textAlign': 'center',
            'color': colors['text']
        }
    ),

    html.Div(children='Dash: A web application framework for Python.', style={
        'textAlign': 'center',
        'color': colors['text']
    }),

    dcc.Graph(
        id='example-graph-2',
        figure=fig
    )
])

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

颜色设置:

设置图片重的颜色

html.H1设置文字标题

同时有图和表

# -*- coding: utf-8 -*-

# Run this app with `python app.py` and
# visit http://127.0.0.1:8050/ in your web browser.

import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.express as px
import pandas as pd
import seaborn as sns

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

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

colors = {
    'background': '#F8F8FF',
    'text': '#7FDBFF'
}

# assume you have a "long-form" data frame
# see https://plotly.com/python/px-arguments/ for more options

daf = px.data.iris()
fig = px.scatter(daf, x="sepal_width", y="sepal_length", color="species", marginal_y="violin",
           marginal_x="box", trendline="ols", template="simple_white")


df = pd.read_csv('https://gist.githubusercontent.com/chriddyp/c78bf172206ce24f77d6363a2d754b59/raw/c353e8ef842413cae56ae3920b8fd78468aa4cb2/usa-agricultural-exports-2011.csv')


def generate_table(dataframe, max_rows=10):
    return html.Table([
        html.Thead(
            html.Tr([html.Th(col) for col in dataframe.columns])
        ),
        html.Tbody([
            html.Tr([
                html.Td(dataframe.iloc[i][col]) for col in dataframe.columns
            ]) for i in range(min(len(dataframe), max_rows))
        ])
    ])


fig.update_layout(
    plot_bgcolor=colors['background'],
    paper_bgcolor=colors['background'],
    font_color=colors['text']
)

app.layout = html.Div(style={'backgroundColor': colors['background']}, children=[
    html.H1(
        children='Hello Dash',
        style={
            'textAlign': 'center',
            'color': colors['text']
        }
    ),


    html.Div(children='Dash: A web application framework for Python.', style={
        'textAlign': 'center',
        'color': colors['text']
    }),

    dcc.Graph(
        id='example-graph-2',
        figure=fig
    ),

    generate_table(df),
])

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • (数据科学学习手札120)Python+Dash快速web应用开发——整合数据库

       这是我的系列教程Python+Dash快速web应用开发的第十七期,在之前的各期教程中,我们针对Dash中各种基础且常用的概念展开了学习,但一直没有针对与...

    Feffery
  • Objc基础学习记录1

    6.NSString *favoritaComputer; 定义指针指向的数值是何种类型(字符串类型);

    叉叉敌
  • mybatis学习笔记之学习目录(1)

    学习结构: 1.mybatis开发方法 原始dao开发方法(程序需要编写dao接口和dao实现类) mybatis的mapper接口...

    王小雷
  • (数据科学学习手札116)Python+Dash快速web应用开发——交互表格篇(中)

       这是我的系列教程Python+Dash快速web应用开发的第十三期,在上一期中,我们一起认识了Dash自带的交互式表格组件dash_table,并学会了如...

    Feffery
  • 这些Python库真的很“冷”,但是却很强大

    Python是一种很棒的编程语言。事实上,它还是世界上发展最快的编程语言之一。它一次又一次证明了它在数据科学职位中的实用性。整个Python及其库的生态系统使其...

    Criss@陈磊
  • 这些Python库虽然冷门,但功能真的很强大!

    在本文中,我们将介绍一些用于数据科学方面的Python库,它们并不像pandas、scikit-learn 和 matplotlib那么知名,但一样非常实用的库...

    昱良
  • 让你事半功倍的小众 Python 库,是不是很惊喜!

    Python 成功和受欢迎的原因之一是存在强大的库,这些库使 Python 极具创造力且运行快速。然而,使用 Pandas、Scikit-learn、Matpl...

    昱良
  • 十个小众却实用的Python库,用过的都说香!

    今天,我们将和大家分享一些用于数据科学任务的Python库,这些库并不常见,它们不如panda、scikit-learn、matplotlib等知名,但却十分实...

    昱良
  • (数据科学学习手札121)Python+Dash快速web应用开发——项目结构篇

       这是我的系列教程Python+Dash快速web应用开发的第十八期,通过前面十七期的内容,如果你有用心学习的话,那么恭喜你已经具备使用Dash编写常规we...

    Feffery

扫码关注云+社区

领取腾讯云代金券