最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python制作可視化報表的示例詳解

 更新時間:2022年02月23日 09:52:16   作者:法納斯特  
在數(shù)據(jù)展示中使用圖表來分享自己的見解,是個非常常見的方法。這也是Tableau、Power BI這類商業(yè)智能儀表盤持續(xù)流行的原因之一。本文主主要介紹了一個用Python制作可視化報表的案例,感興趣的可以學(xué)習(xí)一下

大家好,我是小F~

在數(shù)據(jù)展示中使用圖表來分享自己的見解,是個非常常見的方法。

這也是Tableau、Power BI這類商業(yè)智能儀表盤持續(xù)流行的原因之一,這些工具為數(shù)據(jù)提供了精美的圖形解釋。

當(dāng)然了,這些工具也有著不少缺點,比如不夠靈活,無法讓你自己創(chuàng)建設(shè)計。

當(dāng)你對圖表展示要求定制化時,編程也許就比較適合你,比如Echarts、D3.js。

今天小F給大家介紹一個用Python制作可視化報表的案例,主要是使用到Dash+Tailwindcss。

可視化報表效果如下,水果銷售情況一覽~

Dash是基于Plotly搭建的Dashbord框架,支持Python、R和Julia。使用Dash,你可以創(chuàng)建自定義響應(yīng)式儀表板。

相關(guān)文檔

說明:https://dash.plotly.com/introduction

案例:https://dash.gallery/Portal/

Tailwindcss則是一個實用程序優(yōu)先的CSS框架,用于快速構(gòu)建自定義界面。

“這種框架只適用于那種只會實現(xiàn)頁面布局美化元素而不關(guān)心實現(xiàn)業(yè)務(wù)邏輯的前端”。

看看別人對它的評價,對于無交互的圖表,完全足夠了。

相關(guān)文檔

說明:https://www.tailwindcss.cn/docs

下面就給大家講解下如何通過Dash+Tailwindcss搭建可視化報表~

首先安裝相關(guān)的Python庫,然后導(dǎo)入。

import dash
import pandas as pd
import plotly.express as px
from dash import dcc, html

使用到了Pandas、Plotly、dash這三個Python庫。

我們需要把Tailwindcss的CDN作為external_script,并將其傳遞給我們的應(yīng)用程序?qū)嵗?,這樣我們才可以成功使用Tailwindcss。

# 導(dǎo)入tailwindcss的CDN
external_script = ["https://tailwindcss.com/", {"src": "https://cdn.tailwindcss.com"}]
 
# 創(chuàng)建Dash實例
app = dash.Dash(
    __name__,
    external_scripts=external_script,
)
app.scripts.config.serve_locally = True

使用Pandas創(chuàng)建水果銷售數(shù)據(jù),隨便虛構(gòu)了一個。

# 創(chuàng)建數(shù)據(jù)
df = pd.DataFrame(
    {
        "Fruit": ["蘋果", "橙子", "香蕉", "蘋果", "橙子", "香蕉"],
        "Amount": [4.2, 1.0, 2.1, 2.32, 4.20, 5.0],
        "City": ["北京", "北京", "北京", "上海", "上海", "上海"],
    }
)
 
print(df)

結(jié)果如下,3列6行,包含水果、銷售額、城市列。

處理一下相關(guān)的數(shù)據(jù),水果單數(shù)、銷售總額、城市單數(shù)、變量數(shù)。

# 水果單數(shù)
fruit_count = df.Fruit.count()
# 銷售總額
total_amt = df.Amount.sum()
# 城市單數(shù)
city_count = df.City.count()
# 變量數(shù)
variables = df.shape[1]

創(chuàng)建圖表實例,一個柱狀圖、一個箱型圖。

# 柱狀圖1, 不同水果不同城市的銷售額
fig = px.bar(df, x="Fruit", y="Amount", color="City", barmode="group")
 
# 箱型圖1, 不同城市的銷售額分布情況
fig1 = px.box(df, x="City", y="Amount", color="City")

效果如下。

剩下就是文字模塊啦,文字+CSS樣式。

其中排版布局美化,通過Tailwindcss來實現(xiàn)。

app.layout = html.Div(
    html.Div(
        children=[
            html.Div(
                children=[
                    html.H1(children="水果銷售--可視化報表", className=" py-3 text-5xl font-bold text-gray-800"),
                    html.Div(
                        children="""Python with Dash = ?? .""",
                        className="text-left prose prose-lg text-2xl  py-3 text-gray-600",
                    ),
                ],
                className="w-full mx-14 px-16 shadow-lg bg-white -mt-14 px-6 container my-3 ",
            ),
            html.Div(
                html.Div(
                    children=[
                        html.Div(
                            children=[
                                f"¥{total_amt}",
                                html.Br(),
                                html.Span("總銷售額", className="text-lg font-bold ml-4"),
                            ],
                            className=" shadow-xl py-4 px-14 text-5xl bg-[#76c893] text-white  font-bold text-gray-800",
                        ),
                        html.Div(
                            children=[
                                fruit_count,
                                html.Br(),
                                html.Span("水果數(shù)量", className="text-lg font-bold ml-4"),
                            ],
                            className=" shadow-xl py-4 px-24 text-5xl bg-[#1d3557] text-white  font-bold text-gray-800",
                        ),
                        html.Div(
                            children=[
                                variables,
                                html.Br(),
                                html.Span("變量", className="inline-flex items-center text-lg font-bold ml-4"),
                            ],
                            className=" shadow-xl py-4 px-24 text-5xl bg-[#646ffa] text-white  font-bold text-gray-800",
                        ),
                        html.Div(
                            children=[
                                city_count,
                                html.Br(),
                                html.Span("城市數(shù)量", className="text-lg font-bold ml-4"),
                            ],
                            className="w-full shadow-xl py-4 px-24 text-5xl bg-[#ef553b] text-white  font-bold text-gray-800",
                        ),
                    ],
                    className="my-4 w-full grid grid-flow-rows grid-cols-1 lg:grid-cols-4 gap-y-4 lg:gap-[60px]",
                ),
                className="flex max-w-full justify-between items-center ",
            ),
            html.Div(
                children=[
                    html.Div(
                        children=[
                            dcc.Graph(id="example-graph", figure=fig),
                        ],
                        className="shadow-xl w-full border-3 rounded-sm",
                    ),
                    html.Div(
                        children=[
                            dcc.Graph(id="example-graph1", figure=fig1),
                        ],
                        className="w-full shadow-2xl rounded-sm",
                    ),
                ],
                className="grid grid-cols-1 lg:grid-cols-2 gap-4",
            ),
        ],
        className="bg-[#ebeaee]  flex py-14 flex-col items-center justify-center ",
    ),
    className="bg-[#ebeaee] container mx-auto px-14 py-4",
)

效果如下。

最后啟動程序代碼。

if __name__ == '__main__':
    # debug模式, 端口7777
    app.run_server(debug=True, threaded=True, port=7777)
    # 正常模式, 網(wǎng)頁右下角的調(diào)試按鈕將不會出現(xiàn)
    # app.run_server(port=7777)

這樣就能在本地看到可視化大屏頁面,瀏覽器打開如下地址。

http://127.0.0.1:7777

以后制作的圖表不僅能在線展示,還能實時更新,屬實不錯~

到此這篇關(guān)于Python制作可視化報表的示例詳解的文章就介紹到這了,更多相關(guān)Python可視化報表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python列表與元組的異同詳解

    Python列表與元組的異同詳解

    這篇文章主要介紹了Python列表與元組的異同詳解,“列表(list)與元組(tuple)兩種數(shù)據(jù)類型有哪些區(qū)別”這個問題在初級程序員面試中經(jīng)常碰到,超出面試官預(yù)期的答案往往能加不少印象分,也會給后續(xù)面試順利進行提供一定幫助,需要的朋友可以參考下
    2019-07-07
  • 快速解決pymongo操作mongodb的時區(qū)問題

    快速解決pymongo操作mongodb的時區(qū)問題

    這篇文章主要介紹了快速解決pymongo操作mongodb的時區(qū)問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Pytorch中.new()的作用詳解

    Pytorch中.new()的作用詳解

    今天小編就為大家分享一篇Pytorch中.new()的作用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python實戰(zhàn)之異步獲取中國天氣信息

    Python實戰(zhàn)之異步獲取中國天氣信息

    這篇文章主要介紹了如何利用Python爬蟲異步獲取天氣信息,用的API是中國天氣網(wǎng)。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動手試一試
    2022-03-03
  • Python使用virtualenv創(chuàng)建虛擬環(huán)境的詳細(xì)步驟

    Python使用virtualenv創(chuàng)建虛擬環(huán)境的詳細(xì)步驟

    這篇文章主要介紹了Python使用virtualenv創(chuàng)建虛擬環(huán)境的詳細(xì)步驟,本文分步驟給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • Python 窗體(tkinter)按鈕 位置實例

    Python 窗體(tkinter)按鈕 位置實例

    今天小編就為大家分享一篇Python 窗體(tkinter)按鈕 位置實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • python?文件讀寫操作示例源碼解讀

    python?文件讀寫操作示例源碼解讀

    這篇文章主要為大家介紹了python?文件讀寫操作示例源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • 淺析Flask如何使用日志功能

    淺析Flask如何使用日志功能

    這篇文章主要為大家詳細(xì)介紹了Flask是如何使用日志功能的,文中的示例代碼講解詳細(xì),對我們深入了解Flask有一定的幫助,需要的可以參考一下
    2023-05-05
  • python 實現(xiàn)列表的切片操作允許索引超出范圍

    python 實現(xiàn)列表的切片操作允許索引超出范圍

    這篇文章主要介紹了python 實現(xiàn)列表的切片操作允許索引超出范圍,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • py3nvml實現(xiàn)GPU相關(guān)信息讀取的案例分析

    py3nvml實現(xiàn)GPU相關(guān)信息讀取的案例分析

    這篇文章主要介紹了py3nvml實現(xiàn)GPU相關(guān)信息讀取,此時就可以考慮使用py3nvml這樣的工具,針對于GPU任務(wù)執(zhí)行的過程進行細(xì)化的分析,有助于提升GPU的利用率和程序執(zhí)行的性能,需要的朋友可以參考下
    2022-01-01

最新評論

涿鹿县| 仁怀市| 故城县| 威信县| 松潘县| 宜良县| 门源| 垦利县| 夏津县| 赤城县| 余庆县| 开鲁县| 灌云县| 东乡族自治县| 漯河市| 广西| 堆龙德庆县| 临朐县| 洛宁县| 华容县| 承德县| 孟津县| 蕉岭县| 碌曲县| 专栏| 乌海市| 娄烦县| 泰和县| 永川市| 香河县| 本溪市| 香港| 武鸣县| 逊克县| 增城市| 钦州市| 建宁县| 阿坝| 六枝特区| 达尔| 承德市|