<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python數(shù)據(jù)可視化,被Altair圈粉了

          共 1770字,需瀏覽 4分鐘

           ·

          2020-12-07 02:35

          ↑↑↑點(diǎn)擊上方藍(lán)字,回復(fù)資料,10個(gè)G的驚喜

          神奇的Altair

          介紹本期主角之前,先給大家一張GIF

          是不是很炫酷?更神奇的是,完成這么一幅可交互的圖表,僅需不到20行代碼。

          這幅圖是用Python的可視化庫(kù)Altair繪制的,Altair可以使用強(qiáng)大而簡(jiǎn)潔的可視化語(yǔ)法快速開(kāi)發(fā)各種統(tǒng)計(jì)可視化圖表。用戶只需要提供數(shù)據(jù)列與編碼通道之間的鏈接,例如x軸,y軸,顏色等,其余的繪圖細(xì)節(jié)它會(huì)自動(dòng)處理。

          事實(shí)上,Altair能做的還有很多,大家可以去官網(wǎng)example gallery觀賞

          安裝、配置、導(dǎo)入Altair

          如果你安裝的是anaconda(我強(qiáng)烈建議你安裝這個(gè)IDE),Altair已經(jīng)內(nèi)置,無(wú)需再安裝。但是如果需要實(shí)例數(shù)據(jù)集,還要安裝vega_datasets:

          pip?install?vega_datasets

          然后打開(kāi)anaconda安裝目錄,打開(kāi)Navigation

          打開(kāi)JupyterLab

          新建一個(gè)notebook,運(yùn)行示例代碼,OK!

          Altair圖形語(yǔ)法

          Chart有三個(gè)基本方法:數(shù)據(jù)(data)、標(biāo)記(mark)和編碼(encode),使用它們的格式如下:alt.Chart(data).mark_point().encode(

          encoding_1='column_1',

          encoding_2='column_2',

          etc. )

          Data:Altair內(nèi)部使用的數(shù)據(jù)以Pandas中的Dataframe格式存儲(chǔ),但有以下三種方式傳入:

          • 以Pandas的DataFrame格式傳入;
          • 以Data對(duì)象傳入;
          • 以指向csv或json文本的url傳入;

          Mark:定義好數(shù)據(jù)之后,需要選擇顯示的圖形比如條形圖、折線圖、面積圖、散點(diǎn)圖、直方圖、地圖等各種交互式圖表。

          Encoding:編碼方式定義了圖片顯示的各種屬性,如每個(gè)圖片的位置,圖片軸的屬性等。這部分是最重要的,記住關(guān)鍵的幾個(gè)就行。

          位置通道:定義位置相關(guān)屬性:

          • x: x軸數(shù)值
          • y: y軸數(shù)值
          • row: 按行分列圖片
          • column: 按列分列圖片

          通道描述:

          • color: 標(biāo)記點(diǎn)顏色
          • opacity: 標(biāo)記點(diǎn)的透明度
          • shape: 標(biāo)記點(diǎn)的形狀
          • size: 標(biāo)記點(diǎn)的大小

          通道域信息:text:文本標(biāo)記 label:標(biāo)簽

          數(shù)據(jù)類型:

          • quantitative:縮寫(xiě)Q 連續(xù)型數(shù)據(jù)
          • ordinal:縮寫(xiě)O 離散型
          • nominal:縮寫(xiě)N 離散無(wú)序
          • temporal:縮寫(xiě)T 時(shí)間序列

          分類與聚合:最大值、最小值、均值、求和等等

          交互

          除了繪制基本圖像,Altair強(qiáng)大之處在于用戶可以與圖像進(jìn)行交互,包括平移、縮放、選中某一塊數(shù)據(jù)等操作。在繪制圖片的代碼后面,調(diào)用interactive()模塊,就能實(shí)現(xiàn)平移、縮放。

          Altair還為創(chuàng)建交互式圖像提供了一個(gè)selection的API,在選擇功能上,我們能做出一些更酷炫的高級(jí)功能,例如本文開(kāi)頭處展示的GIF,對(duì)選中的數(shù)據(jù)點(diǎn)進(jìn)行統(tǒng)計(jì),生成實(shí)時(shí)的直方圖。?

          import?altair?as?alt?
          from?vega_datasets?import?data
          source?=?data.cars()
          brush?=?alt.selection(type='interval')
          points?=?alt.Chart(source).mark_point().encode(?x='Horsepower:Q',?y='Miles_per_Gallon:Q',?color=alt.condition(brush,?'Origin:N',?alt.value('lightgray'))?).add_selection(?brush?)
          bars?=?alt.Chart(source).mark_bar().encode(?y='Origin:N',?color='Origin:N',?x='count(Origin):Q'?).transform_filter(?brush?)
          points?&?bars

          學(xué)習(xí)方法與建議

          沒(méi)什么捷徑,只有多看文檔、源碼


          瀏覽 24
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  伊人青青在线播放 | 国产婬荡交换XXXⅩ | 成人免费观看视频亚洲 | 99超碰在线免费观看 | 亚洲第一中文字幕网 |