Streamlit+Echarts實(shí)現(xiàn)繪制精美圖表
在數(shù)據(jù)分析和可視化的領(lǐng)域,選擇合適的工具可以讓我們事半功倍。今天,我們要介紹的兩個(gè)工具,Streamlit
和 ECharts
,各自在快速應(yīng)用開(kāi)發(fā)和高效數(shù)據(jù)可視化方面都有出色的表現(xiàn)。更為令人興奮的是,當(dāng)這兩者結(jié)合時(shí),我們能輕松地創(chuàng)建出互動(dòng)性強(qiáng)、美觀的數(shù)據(jù)大屏。
工具的簡(jiǎn)介
Streamlit
Streamlit
是一個(gè)開(kāi)源的Python
庫(kù),允許數(shù)據(jù)科學(xué)家和工程師在幾分鐘內(nèi)轉(zhuǎn)化他們的數(shù)據(jù)腳本為交互的Web
應(yīng)用。其特點(diǎn)在于其簡(jiǎn)單性和靈活性。開(kāi)發(fā)者無(wú)需前端經(jīng)驗(yàn),只需要Python基礎(chǔ)即可。其聲明性的交互模型意味著不必處理回調(diào)或服務(wù)器配置,Streamlit
為你處理了這一切。
ECharts
ECharts
是一個(gè)由百度開(kāi)發(fā)的開(kāi)源JavaScript
可視化庫(kù)。它提供了諸如折線、柱狀、餅圖、散點(diǎn)、地圖等豐富的圖表類型,并支持多種交互方式,可以輕松地與各種數(shù)據(jù)源集成,是大數(shù)據(jù)時(shí)代的得力助手。
安裝模塊的庫(kù)
在深入實(shí)戰(zhàn)前,我們首先要確保機(jī)器上已經(jīng)安裝了Streamlit
和streamlit-echarts
??梢酝ㄟ^(guò)以下命令輕松完成:
pip?install?streamlit pip?install?streamlit-echarts
Streamlit與ECharts實(shí)戰(zhàn)
在準(zhǔn)備工作完成后,我們可以開(kāi)始使用Streamlit
和ECharts
創(chuàng)建我們的第一個(gè)交互式數(shù)據(jù)大屏。代碼如下
import?streamlit?as?st from?streamlit_echarts?import?st_echarts #?定義ECharts的配置 option?=?{ ????"title":?{"text":?"ECharts示例"}, ????"tooltip":?{}, ????"xAxis":?{ ????????"data":?["襯衫",?"羊毛衫",?"雪紡衫",?"褲子",?"高跟鞋",?"襪子"] ????}, ????"yAxis":?{}, ????"series":?[ ????????{ ????????????"name":?"銷量", ????????????"type":?"bar", ????????????"data":?[5,?20,?36,?10,?10,?20] ????????} ????] } #?在Streamlit應(yīng)用中展示ECharts圖表 st_echarts(options=option)
output
這段代碼演示了如何使用streamlit
和streamlit_echarts
來(lái)展示一個(gè)ECharts
圖表。我們導(dǎo)入創(chuàng)建Streamlit Web
應(yīng)用和展示ECharts
圖表所需的庫(kù),接下去,我們定義了一個(gè)字典option
,它定義了ECharts
圖表的配置,其中
- title:定義了圖表的標(biāo)題為 "ECharts示例"。
- tooltip:用于當(dāng)鼠標(biāo)懸停在圖表的數(shù)據(jù)點(diǎn)上時(shí)顯示的提示信息。在這里,它被設(shè)置為空,這意味著使用默認(rèn)設(shè)置。
- xAxis:定義了 x 軸的數(shù)據(jù)。在這個(gè)示例中,x 軸的數(shù)據(jù)為一系列商品的名稱。
- yAxis:定義了 y 軸的配置。這里為空,意味著使用默認(rèn)設(shè)置。
- series:定義了圖表的數(shù)據(jù)系列。在這里,我們有一個(gè)系列(銷量)顯示為柱狀圖,其對(duì)應(yīng)的數(shù)據(jù)也被提供。
最后便是代碼st_echarts(options=option)
,使用了st_echarts
函數(shù),并將我們之前定義的option
作為參數(shù)傳遞,從而渲染相應(yīng)的圖表。我們?cè)賮?lái)看一下例子,代碼如下
from?pyecharts?import?options?as?opts from?pyecharts.charts?import?Bar from?streamlit_echarts?import?st_pyecharts b?=?( ????Bar() ????.add_xaxis(["Microsoft",?"Amazon",?"IBM",?"Oracle",?"Google",?"Alibaba"]) ????.add_yaxis( ????????"2017-2018?Revenue?in?(billion?$)",?[21.2,?20.4,?10.3,?6.08,?4,?2.2] ????) ????.set_global_opts( ????????title_opts=opts.TitleOpts( ????????????title="Top?cloud?providers?2018",?subtitle="2017-2018?Revenue" ????????), ????????toolbox_opts=opts.ToolboxOpts(), ????) ) st_pyecharts(b)
output
上述的代碼中
- 我們初始化一個(gè)
Bar
(柱狀圖)對(duì)象。 - 使用
add_xaxis
方法添加x
軸數(shù)據(jù),這里列出了六個(gè)云服務(wù)提供商的名稱。 - 使用
add_yaxis
方法添加y
軸數(shù)據(jù),這里列出了這些云服務(wù)提供商在 2017-2018 年的收入(單位:十億美元)。 - 使用
set_global_opts
方法全局設(shè)置圖表的標(biāo)題和其他選項(xiàng)。title_opts
定義了圖表的主標(biāo)題和副標(biāo)題。toolbox_opts
提供了一些工具,例如保存為圖片。
到此這篇關(guān)于Streamlit+Echarts實(shí)現(xiàn)繪制精美圖表的文章就介紹到這了,更多相關(guān)Streamlit Echarts內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決使用pip安裝報(bào)錯(cuò):Microsoft?Visual?C++?14.0?is?required.
對(duì)于程序員來(lái)說(shuō),經(jīng)常pip安裝自己所需要的包,大部分的包基本都能安裝,但是總會(huì)遇到包安裝不了的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于如何解決使用pip安裝報(bào)錯(cuò):Microsoft?Visual?C++?14.0?is?required.的相關(guān)資料,需要的朋友可以參考下2022-09-09利用Python和OpenCV庫(kù)將URL轉(zhuǎn)換為OpenCV格式的方法
這篇文章主要介紹了利用Python和OpenCV庫(kù)將URL轉(zhuǎn)換為OpenCV格式的方法,同時(shí)用到了NumPy和urllib,需要的朋友可以參考下2015-03-03解決python2 繪圖title,xlabel,ylabel出現(xiàn)中文亂碼的問(wèn)題
今天小編就為大家分享一篇解決python2 繪圖title,xlabel,ylabel出現(xiàn)中文亂碼的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01pampy超強(qiáng)的模式匹配工具的實(shí)現(xiàn)
在自然語(yǔ)言處理界,模式匹配可以說(shuō)是最常用的技術(shù)。甚至可以說(shuō),將NLP技術(shù)作為真實(shí)生產(chǎn)力的項(xiàng)目都少不了模式匹配。本文就介紹了pampy超強(qiáng)的模式匹配工具的實(shí)現(xiàn),感興趣的可以了解一下2021-07-07利用TensorFlow訓(xùn)練簡(jiǎn)單的二分類神經(jīng)網(wǎng)絡(luò)模型的方法
本篇文章主要介紹了利用TensorFlow訓(xùn)練簡(jiǎn)單的二分類神經(jīng)網(wǎng)絡(luò)模型的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03Python實(shí)現(xiàn)生成日?qǐng)?bào)的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)生成日?qǐng)?bào)的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-06-06Python基于opencv的圖像壓縮算法實(shí)例分析
這篇文章主要介紹了Python基于opencv的圖像壓縮算法,結(jié)合實(shí)例形式分析了使用opencv進(jìn)行圖像壓縮的常用操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-05-05python定時(shí)采集攝像頭圖像上傳ftp服務(wù)器功能實(shí)現(xiàn)
本文程序?qū)崿F(xiàn)python定時(shí)采集攝像頭圖像上傳ftp服務(wù)器功能,大家參考使用吧2013-12-12