溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Pyecharts柱狀圖怎么實現(xiàn)

發(fā)布時間:2021-12-14 09:36:25 來源:億速云 閱讀:180 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“Pyecharts柱狀圖怎么實現(xiàn)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Pyecharts柱狀圖怎么實現(xiàn)”吧!

pyecharts團隊將其支持的圖表類型歸納為以下幾個類型:基本圖表、直角坐標系圖表、樹型圖表、地理圖表、3D圖表、組合圖表。

對于分析師來講,我們?nèi)粘9ぷ髦惺褂米疃嗟漠攲僬劬€圖、柱狀圖、散點圖、箱型圖等直角坐標系圖表,當然還有屬于基本圖表的餅圖,餅圖及其衍生玫瑰圖在前一篇中已經(jīng)介紹過了。本次我們一起來看下直角坐標系下的圖表:

Pyecharts柱狀圖怎么實現(xiàn)

在pyecharts的charts模塊中,柱狀圖類名為Bar,與所有圖表類一樣,在創(chuàng)建Bar對象的時候,都有一個init_opts屬性,這是圖表的初始化項,可以通過options模塊中的InitOpts來設(shè)置。同樣的,折線圖類名為Line,初始化方法與柱狀圖一致,且添加數(shù)據(jù)項及配置項的參數(shù)也較為類似,我們僅以柱狀圖舉例。

1  圖表初始化

Pyecharts柱狀圖怎么實現(xiàn)

如圖所見,初始項中有很多個屬性可供設(shè)置,我們僅針對最常用和基礎(chǔ)的來進行介紹:

(1)前兩項width和height,分別為圖表區(qū)域整體的寬度和高度,默認值分別是900px和500px,可以根據(jù)實際需求來調(diào)整圖表大小;

(2)第三項chart_id是本圖表在html文件中唯一id,如果空置,會默認生成一個隨機字符串作為圖表id;

(3)page_tile是頁面整體的標題,并且只有當直接由此圖表render生成html文件時才會生效,如果是在將圖表添加到page類中,則文件標題只會根據(jù)page類中配置的名稱生成!注意是整個頁面的標題名稱,不是單個圖表哦,單個圖表標題的配置要在set_global函數(shù)中完成。

2 添加數(shù)據(jù)項

在創(chuàng)建完柱狀圖后,我們就可以添加數(shù)據(jù)項了,要用add_xaxis和add_xaxis兩個函數(shù)分別來添加x軸和y軸,其中x軸最為簡單,只有一個參數(shù)xaxis_data,可以是列表或數(shù)組等多種數(shù)據(jù)類型,但每個元素必須是字符串,否則在html中就可能出現(xiàn)無法顯示圖表的問題。而y軸配置項就復(fù)雜了許多,將常用項展示如下:

Pyecharts柱狀圖怎么實現(xiàn)

(1)首先是數(shù)據(jù)系列的名稱series_name,當有多個數(shù)據(jù)系列當時候用以區(qū)分不同顏色柱子柱子分別代表什么指標

(2)y_axis就是與x軸相對的y軸數(shù)據(jù),同樣也是支持列表、數(shù)組等多種數(shù)據(jù)格式

(3)當有多個數(shù)據(jù)系列的時候,如果想要使用多個y軸來表示不同單位的指標,就需要使用yaxis_index來指定y軸的索引,本參數(shù)需要與extend_axis配合使用,本文末尾將會以復(fù)合圖表的形式來進行示范

(4)label_opts是對系列標簽進行設(shè)置,包括標簽字體、顏色、位置等,可以在添加每條數(shù)據(jù)系列時設(shè)置,也可以在set_series_opts中統(tǒng)一設(shè)置

(5)is_selected指的是在圖表初始化時是否選中本列數(shù)據(jù);background_style是柱子的背景配置,有顏色、陰影、透明度、邊界等多項屬性;后面多項均是對柱子本身格式進行設(shè)置

(6)我們還可以利用markline_opts或markpoint_opts在圖表中添加標記線、標記點

(7)itemstyle_opts可以設(shè)置柱子格式,是對前面所看到的color等屬性的豐富和補充

3  其他設(shè)置

除了對x和y軸添加數(shù)據(jù)及配置外,柱狀圖還有另外兩個函數(shù)可以進行其他方面對配置:

(1)set_global_opts是全局配置項,全局指的是整個圖表區(qū)域,如標題、布局、工具箱、坐標軸等

(2)  set_series_opts是系列配置,可以調(diào)整數(shù)據(jù)項的標簽、顯示等

(3)此外還有set_colors可以自定義各數(shù)據(jù)系列的顏色屬性

在本文第一張動圖中,演示了工具箱(toolbox_opts)的部分功能,其中包括柱狀圖和折線圖的轉(zhuǎn)換、圖形模式和數(shù)據(jù)模式的轉(zhuǎn)換,直接在工具箱中點擊操作即可,免去了多次作圖的麻煩;此外,直接坐標系下還可以使用datazoom縮放橫軸,當圖表可用區(qū)域較小、x軸范圍過大時,通過拖拽datazoom選擇要展示的數(shù)據(jù)范圍。

柱狀圖代碼示例

from pyecharts import options from pyecharts import charts import random bar = charts.Bar(init_opts=options.InitOpts(width='900px', height='400px')) bar.set_global_opts(title_opts=options.TitleOpts(title='2019年AB商品銷量對比', pos_left='center'),                     legend_opts=options.LegendOpts(is_show=True, pos_right='right', pos_top='center',                                                    orient='vertical'), toolbox_opts=options.ToolboxOpts(is_show=True)                     , brush_opts=options.BrushOpts(tool_box='clear'), datazoom_opts=options.DataZoomOpts(is_show=True)) y1 = [random.randrange(500, 1000) for i in range(12)] y2 = [random.randrange(800, 1200) for i in range(12)] bar.add_xaxis(['{}月'.format(x) for x in range(1, 13)]) bar.add_yaxis(series_name='商品A', y_axis=y1,               label_opts=options.LabelOpts(is_show=True, position='left', color='blue'),               bar_width=20, markline_opts=options.MarkLineOpts(data=[options.MarkLineItem(y=max(y1))]),               background_style=options.BarBackgroundStyleOpts(color='rgba(180,180,180,0.2)', border_width=1,                                                               border_color='grey'),               is_show_background=True) bar.add_yaxis(series_name='商品B', y_axis=y2,               label_opts=options.LabelOpts(is_show=False),               bar_width=20, markline_opts=options.MarkLineOpts(data=[options.MarkLineItem(y=max(y2))]),               background_style=options.BarBackgroundStyleOpts(color='rgba(180,180,180,0.2)', border_width=1,                                                               border_color='grey'),               is_show_background=True) bar.set_colors(colors=['blue', 'orange']) bar.render('bar.html')

可視化圖表最根本的目的是展示數(shù)據(jù),將數(shù)據(jù)中包含的信息更加形象、具體地展示出來。一張看板或大屏好看與否雖然不會影響數(shù)據(jù)的真實性和準確性,但得體的布局、美觀的界面和生動的交互,帶來的不只是賞心悅目的觀看體驗,更多的是數(shù)據(jù)的可讀性的提升。

到此,相信大家對“Pyecharts柱狀圖怎么實現(xiàn)”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI