[pyecharts1.7] 圖表基礎(chǔ)設(shè)置:大小、背景色、配色主題等

今日心情 :因?yàn)楣淞私侄拈_心
廢話警告:心情好了就收不住,我可能要開始叨叨了。。。


鑒于目前在用的一直是FineReport(說人話:帆軟),雖然自我感覺,用的熟練度已經(jīng)可以了,但是考慮到技能的全面性,所以最近打算研究一下其他的數(shù)據(jù)可視化工具,比如:Echarts、PowerBI等。至于為什么不是直接上手Echarts,而是先從pyecharts入手,暫且不表(嘿嘿,不告訴你)。
順便補(bǔ)充一句,之后我可能會(huì)出一個(gè)pyecharts的手冊(cè),有興趣的可以關(guān)注一下。個(gè)人精力有限,會(huì)優(yōu)先發(fā)布在公眾號(hào)上。

pyecharts的GitHub地址:https://github.com/pyecharts/pyecharts

Echarts官網(wǎng):https://www.echartsjs.com/zh/index.html

版本信息

python3.6.6、pyecharts1.7.1

源碼分析

準(zhǔn)備好測(cè)試數(shù)據(jù),我們以柱形圖作為實(shí)例

from pyecharts.charts import Bar

x_data = ['分類1', '分類2', '分類3', '分類4', '分類5', '分類6', '分類7', '分類8', '分類9', '分類10', '分類11', '分類12', '分類13', '分類14', '分類15', '分類16', '分類17']
y_data = [0.72, 0.61, 0.98, 0.92, 0.67, 0.87, 0.6, 0.75, 0.96, 0.68, 0.71, 0.49, 0.35, 0.76, 0.81, 0.45, 0.51]
instance_bar = (
    Bar()
    .add_xaxis(xaxis_data=x_data)
    .add_yaxis(yaxis_data=y_data, series_name='aaa')
)

instance_bar.render('11.html')

做出的圖是下面介樣的:

但是一般來說,金主爸爸怎么能讓你這么輕松就完成任務(wù)?來來來,把背景色改了,配色換個(gè),圖太大了。。。。balabala一大堆。。。這時(shí)候要是搞不定,豈不是顯的我沒幾把刷子?不能夠啊,那咱就來好好研究一下。

變量instance_bar是類pyecharts.charts.Bar的實(shí)例。查看類Bar部分的源碼,可以發(fā)現(xiàn),它只有一個(gè)add_yaxis方法。從參數(shù)來看,這是一個(gè)配置y軸的方法,我們要找的圖表大小、背景色等設(shè)置不在這里

但是,類Bar繼承至類RectChart,這個(gè)類有extend_axis、add_xaxis、reversal_axis、overlap(組合圖配置)等方法

除此外,它的初始化函數(shù)__init__中,接受參數(shù)init_opts,這個(gè)參數(shù)的默認(rèn)值為opts.InitOpts()。定位到其源碼部分,我們來看看這到底是個(gè)什么鬼

醬醬醬,好像發(fā)現(xiàn)了什么不得了的事情。按照經(jīng)驗(yàn),關(guān)于參數(shù)的用途,我們可以合理的做以下猜測(cè):

  • width:配置圖的寬度,單位是px
  • height:配置圖的高度,單位是px
  • charts_id:配置圖的id。這個(gè)在用選擇器定位元素的時(shí)候有用,本文中暫不做相關(guān)介紹。
  • renderer:渲染方式(SVG或CANVAS),本文中暫不做相關(guān)介紹。
  • page_title:因?yàn)閜yecharts最后可渲染為html,這個(gè)應(yīng)該是html網(wǎng)頁的標(biāo)題。
  • theme:主題,尚不確定是不是配色主題。查看源碼,可以發(fā)現(xiàn)其可取值信息如下


  • bg_color:背景色。結(jié)合Echarts官網(wǎng)的文檔可以發(fā)現(xiàn),顏色一般可使用 RGB 表示,比如 'rgb(128, 128, 128)' ,如果想要加上 alpha 通道,可以使用 RGBA,比如 'rgba(128, 128, 128, 0.5)',也可以使用十六進(jìn)制格式,比如 '#ccc'
  • js_host:這個(gè)應(yīng)該是引入的js文件的路徑。本文中暫不做相關(guān)介紹。
  • animation_opts:這個(gè)結(jié)合Echarts官網(wǎng)的文檔可以發(fā)現(xiàn),應(yīng)該是動(dòng)畫相關(guān)配置。本文中暫不做相關(guān)介紹。

圖形基礎(chǔ)設(shè)置

接下來,驗(yàn)證一下對(duì)于參數(shù)width、height、page_title、theme的猜想的正確性

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

x_data = ['分類1', '分類2', '分類3', '分類4', '分類5', '分類6', '分類7', '分類8', '分類9', '分類10', '分類11', '分類12', '分類13', '分類14', '分類15',
          '分類16', '分類17']
y_data = [0.72, 0.61, 0.98, 0.92, 0.67, 0.87, 0.6, 0.75, 0.96, 0.68, 0.71, 0.49, 0.35, 0.76, 0.81, 0.45, 0.51]
instance_bar = (
    Bar(init_opts=opts.InitOpts(bg_color='rgba(255,250,205,0.2)',
                                width='1000px',
                                height='600px',
                                page_title='page',
                                theme=ThemeType.MACARONS
                                )
        )
    .add_xaxis(xaxis_data=x_data)
    .add_yaxis(yaxis_data=y_data, series_name='aaa')
)
instance_bar.render('11.html')

結(jié)果如下。可以發(fā)現(xiàn)背景色、圖片大小、網(wǎng)頁標(biāo)題、配色都改變了。猜想變成現(xiàn)實(shí)了~叭錯(cuò),晚上給自己加雞腿~

image.png

有疑問可在評(píng)論處留言,歡迎大家一起交流探討??紤]到網(wǎng)頁我可能不經(jīng)??矗魡栴}較為緊急,可關(guān)注微信公眾號(hào)「燃燒吧數(shù)據(jù)」(id:data-fired),聊天框輸入暗號(hào):江湖救急,即可召喚小姐姐一枚~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過簡(jiǎn)信或評(píng)論聯(lián)系作者。

相關(guān)閱讀更多精彩內(nèi)容

  • 這是漫長(zhǎng)的一周,本周完成了Python的進(jìn)階模塊,主要是pandas、numpy、matplotlib、seabo...
    軟嘴唇s閱讀 817評(píng)論 -1 5
  • feisky云計(jì)算、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 4,356評(píng)論 0 5
  • 前日:我又一次回到了老家,小時(shí)候常住的那間窯洞。奶奶一個(gè)人躺在屋里的沙發(fā)上,只有她一個(gè)人,墻上時(shí)鐘還不到19點(diǎn)。我...
    錦雁西閱讀 146評(píng)論 0 1
  • 請(qǐng)?jiān)试S我叫你Darling。這樣也許是矯情了些,可我已經(jīng)喊不出你的全部名字,只好找到一個(gè)代替。 你是一個(gè)多自由的人...
    酒飲無眠閱讀 231評(píng)論 0 2
  • 最近到處跑,到處找人聊。 慢慢的,感覺自己又到了一個(gè)十字路口。 回想起來,自己已經(jīng)面對(duì)好幾次這樣的情形,每一次做出...
    OutofShawshank閱讀 396評(píng)論 0 0

友情鏈接更多精彩內(nèi)容