中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Python制作可視化大屏全流程?。ùa分享)

今天就詳細(xì)講一下Pyecharts制作可視化大屏的過(guò)程。

注意,本文由于篇幅問(wèn)題不會(huì)放置全部代碼,會(huì)在文末提供全部代碼的下載。

承接上文《用Python制作可視化大屏,特簡(jiǎn)單!》,不再贅述數(shù)據(jù)爬取和數(shù)據(jù)預(yù)處理。

ECharts是由百度開(kāi)源的基于JS的商業(yè)級(jí)數(shù)據(jù)圖表庫(kù),有很多現(xiàn)成的圖表類(lèi)型和實(shí)例,而Pyecharts則是為了方便我們使用Python實(shí)現(xiàn)ECharts的繪圖。使用Pyecharts制作可視化大屏,可以分為兩步:

1、使用分別Pyecharts分別制作各類(lèi)圖形;

2、使用Pyecharts中的組合圖表功能,將所有圖片拼接在一張html文件中進(jìn)行展示。

小五認(rèn)為影響大屏美觀最重要的兩個(gè)因素就是:配色布局!在本文中,會(huì)特意強(qiáng)調(diào)這兩點(diǎn)。

Pyecharts可視化

本文縮減了圖表,只選用2020東京奧運(yùn)會(huì)各國(guó)金牌分布圖、2020東京奧運(yùn)會(huì)獎(jiǎng)牌榜詳情、2020東京奧運(yùn)會(huì)中國(guó)各項(xiàng)目獲獎(jiǎng)詳情。

這類(lèi)圖表都很簡(jiǎn)單,參照官方文檔直接復(fù)制示例就可以學(xué)習(xí)。圖表配色都使用的Pyecharts默認(rèn)顏色,大家實(shí)際使用時(shí)盡量形成自己的風(fēng)格。

Map世界地圖

Pyecharts繪制世界地圖時(shí),名稱(chēng)必須是英文。所以我們?cè)谇拔闹幸肓?code>國(guó)家名稱(chēng)中英文對(duì)照表,左連接形成了df4

df4

單獨(dú)提取英文名稱(chēng)和獎(jiǎng)牌總數(shù)兩列數(shù)據(jù),用來(lái)可視化。

data_list=[[i,j] for i,j in zip(df4['英文名稱(chēng)'],df4['獎(jiǎng)牌總數(shù)'])]
data_list[:5]

數(shù)據(jù)準(zhǔn)備好了,開(kāi)始利用pyecharts繪制世界地圖。

from pyecharts import options as opts
from pyecharts.charts import Map

c = (
    Map()
    .add('', data_list, 'world',
          is_map_symbol_show=False,
    )
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(
        title_opts=opts.TitleOpts(title='2020東京奧運(yùn)會(huì)各國(guó)金牌分布圖'),
        visualmap_opts=opts.VisualMapOpts(max_=100)
    )
)

c.render_notebook()

非常簡(jiǎn)單

同理,依次繪制其他兩類(lèi)圖形。

柱狀圖、餅圖

柱狀圖(Bar)

from pyecharts import options as opts
from pyecharts.charts import Bar

c = (
    Bar()
    .add_xaxis(df4['名稱(chēng)'].head(25).tolist())
    .add_yaxis('金牌', df4['金牌'].head(25).tolist(), stack='stack1')
    .add_yaxis('銀牌', df4['銀牌'].head(25).tolist(), stack='stack1')
    .add_yaxis('銅牌', df4['銅牌'].head(25).tolist(), stack='stack1')
    .set_series_opts(label_opts=opts.LabelOpts(is_show=True, position='inside', font_size=12, color='#FFFFFF'))
    .set_global_opts(title_opts=opts.TitleOpts(title='2020東京奧運(yùn)會(huì)獎(jiǎng)牌榜詳情'),
                     xaxis_opts=opts.AxisOpts(type_='category',
                                              axislabel_opts=opts.LabelOpts(
                                                  rotate=45),
                                              )))
c.render_notebook()
2020東京奧運(yùn)會(huì)獎(jiǎng)牌榜詳情

餅圖(Pie)

from pyecharts import options as opts
from pyecharts.charts import Pie

c = (
    Pie()
    .add('', [['跳水', 12], ['射擊', 11], ['舉重', 8], ['競(jìng)技體操', 8], ['乒乓球', 7], ['游泳', 6], ['羽毛球', 6], ['田徑', 5], ['靜水皮劃艇', 3], ['蹦床體操', 3], ['自由式摔跤', 3], ['賽艇', 3], ['空手道', 2], ['拳擊', 2], ['帆船', 2], ['花樣游泳', 2], ['跆拳道', 1], ['場(chǎng)地自行車(chē)賽', 1], ['古典式摔跤', 1], ['擊劍', 1], ['三人籃球', 1]],
         center=['50%', '60%'],)
    .set_series_opts(label_opts=opts.LabelOpts(formatter=': {c}'))
)
c.render_notebook()
2020東京奧運(yùn)會(huì)中國(guó)各項(xiàng)目獲獎(jiǎng)詳情

這樣需要用到的三張圖表就繪制好了。

Pyecharts組合圖表

Pyecharts進(jìn)行可視化大屏第二步就是組合圖表,大致可分為四類(lèi):

  • Grid:并行多圖
  • Page:順序多圖
  • Tab:選項(xiàng)卡多圖
  • Timeline:時(shí)間線輪播多圖

官方文檔:

這里用Page(順序多圖)居多,在組合圖表之前,還要先把前面的圖表繪制代碼改為函數(shù)。

def map_world() -> Map:
    c = (
        Map(init_opts=opts.InitOpts(chart_id=2, bg_color='#ADD8E6'))
        .add('', data_list, 'world',
             is_map_symbol_show=False,
             )
        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
        .set_global_opts(
            title_opts=opts.TitleOpts(title='2020東京奧運(yùn)會(huì)各國(guó)金牌分布圖'),
            visualmap_opts=opts.VisualMapOpts(max_=100)
        )
    )
    return c

順便還在其中增加了背景顏色bg_color、圖表IDchart_id,后者用于多圖表時(shí)定位區(qū)分。背景顏色的話,我選擇了淡藍(lán)色#ADD8E6。后續(xù)圖片的布局是根據(jù)圖表ID的對(duì)應(yīng)關(guān)系進(jìn)行布局,所以每張圖都要分別設(shè)置其id。

接著使用page = Page(layout= Page.DraggablePageLayout)模式對(duì)圖片進(jìn)行展示,這一步是為了調(diào)整布局。

page = Page(layout=Page.DraggablePageLayout, page_title='2020東京奧運(yùn)會(huì)獎(jiǎng)牌榜')

# 在頁(yè)面中添加圖表
page.add(
    title(),
    map_world(),
    bar_medals(),
    pie_china(),)

page.render('test.html')

調(diào)用繪制函數(shù)后生成一個(gè) test.html 文件。

打開(kāi)后可以其中的圖片進(jìn)行拖拽,來(lái)實(shí)現(xiàn)自定義布局。

對(duì)圖片布局完畢后,要記得點(diǎn)擊左上角“save config”對(duì)布局文件進(jìn)行保存。

點(diǎn)擊后,本地會(huì)生成一個(gè)chart_config.json的文件,這其中包含了每個(gè)圖表ID對(duì)應(yīng)的布局位置。

最后,調(diào)用保存好的布局文件,重新生成html。

運(yùn)行下面這行代碼。

page.save_resize_html('test.html', cfg_file='chart_config.json', dest='奧運(yùn).html')

其中test.html 為生成的所有圖表的文件、chart_config.json 為下載的布局文件、奧運(yùn).html 為布局好的的儀表盤(pán)文件、打開(kāi)儀表奧運(yùn).html:

這樣就實(shí)現(xiàn)了一次數(shù)據(jù)可視化——大屏展示。

但還有還有很多不足之處,比如若圖表配色沒(méi)有特殊去做調(diào)整。

整張大屏只是一個(gè)靜態(tài)的展示,而非具有商業(yè)場(chǎng)景的數(shù)據(jù)儀表盤(pán)。

真正的數(shù)據(jù)大屏往往更喜歡用BI軟件生成,能夠?qū)崿F(xiàn)圖、表、切片器之間交叉篩選,希望以后有機(jī)會(huì)能用Python使用制作出來(lái)。

代碼下載

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
手把手教你用Pyecharts庫(kù)對(duì)淘寶數(shù)據(jù)進(jìn)行可視化展示
Pandas Pyecharts | 2022年世界500強(qiáng)數(shù)據(jù)分析可視化
Python爬蟲(chóng)+數(shù)據(jù)分析:分析一下懂車(chē)帝現(xiàn)階段哪款車(chē)值得我們?nèi)_
Python 繪制中國(guó)城市數(shù)據(jù)地圖可視化
python采集往期股票數(shù)據(jù)進(jìn)行分析預(yù)測(cè)
Python分析6625條視頻,告訴你“打工人”憑什么能刷爆全網(wǎng)
更多類(lèi)似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服