那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Altair:一個(gè)漂亮易用的數(shù)據(jù)可視化庫

科技綠洲 ? 來源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-10-21 10:43 ? 次閱讀

Altair 是一個(gè)基于Jupyter Notebook的強(qiáng)大可視化庫。它提供了強(qiáng)大而簡潔的可視化語法,使我們能夠快速構(gòu)建各種統(tǒng)計(jì)可視化圖表。

通過下面10行代碼,你就能創(chuàng)建一個(gè)可交互的散點(diǎn)圖:

import altair as alt

from vega_datasets import data
cars = data.cars()

alt.Chart(cars).mark_point().encode(
    x='Horsepower',
    y='Miles_per_Gallon',
    color='Origin',
).interactive()

圖片

1.準(zhǔn)備

開始之前,你要確保Pythonpip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。

**(可選1) **如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.

**(可選2) **此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點(diǎn):Python 編程的最好搭檔—VSCode 詳細(xì)指南

請選擇以下任一種方式輸入命令安裝依賴

  1. Windows 環(huán)境 打開 Cmd (開始-運(yùn)行-CMD)。
  2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
  3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install altair vega_datasets

2.基本使用

Altair 中的數(shù)據(jù)是圍繞 Pandas Dataframe 構(gòu)建的。

我們首先導(dǎo)入 Pandas 并創(chuàng)建一個(gè)簡單的 DataFrame 以進(jìn)行可視化,a 列中有一個(gè)分類變量,b 列有一個(gè)數(shù)值變量:

import pandas as pd
data = pd.DataFrame({'a': list('CCCDDDEEE'),
                     'b': [2, 7, 4, 1, 2, 6, 8, 4, 7]})

Altair 中的基本對象是Chart,它將上述的數(shù)據(jù)作為單個(gè)參數(shù)

import altair as alt
chart = alt.Chart(data)

到目前為止,我們已經(jīng)定義了 Chart 對象,但是我們還沒有告訴圖表對數(shù)據(jù)任何事情。接下來會出現(xiàn)。

有了這個(gè)圖表對象,我們現(xiàn)在可以指定我們希望如何可視化數(shù)據(jù),比如作為點(diǎn):

alt.Chart(data).mark_point()

然后對數(shù)據(jù)進(jìn)行編碼,比如指定 a 列為x,b列為y:

alt.Chart(data).mark_point().encode(
    x='a', y='b'
)

效果如下:

圖片

如果你希望聚合求得某列得平均值,你還可以這么做:

alt.Chart(data).mark_point().encode(
    x='a',
    y='average(b)'
)

圖片

如果你希望使用柱狀圖,只需要把mark_point改為mark_bar:

alt.Chart(data).mark_bar().encode(
    x='a',
    y='average(b)'
)

圖片

還可以獲得水平柱狀圖,我們只需要把x和y對調(diào)一下:

alt.Chart(data).mark_bar().encode(
    y='a',
    x='average(b)'
)

除了點(diǎn)狀圖和柱狀圖,Altair 還支持幾十種圖表類型:

圖片

圖片

圖片

圖片

更多的圖表類型請?jiān)诠倬W(wǎng)查看:

https://altair-viz.github.io/gallery/index.html

3.高級使用

你可以給圖表自定義你喜歡的顏色和對應(yīng)的橫坐標(biāo)縱坐標(biāo)標(biāo)題:

alt.Chart(data).mark_bar(color='firebrick').encode(
    alt.Y('a', title='category'),
    alt.X('average(b)', title='avg(b) by category')
)

圖片

你還可以將圖表保存為HTML:

chart = alt.Chart(data).mark_bar().encode(
    x='a',
    y='average(b)',
)
chart.save('chart.html')

如果你希望能夠通過區(qū)間選擇數(shù)據(jù)點(diǎn)并計(jì)數(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',
    y='Miles_per_Gallon',
    color=alt.condition(brush, 'Origin', alt.value('lightgray'))
).add_selection(
    brush
)

bars = alt.Chart(source).mark_bar().encode(
    y='Origin',
    color='Origin',
    x='count(Origin)'
).transform_filter(
    brush
)

points & bars

圖片

跟牛逼的是,Altair還可以做多圖表聯(lián)動(dòng):

# 公眾號:Python實(shí)用寶典 整合
import altair as alt
from vega_datasets import data

cars = data.cars.url
brush = alt.selection_interval()

chart = alt.Chart(cars).mark_point().encode(
    y='Horsepower:Q',
    color=alt.condition(brush, 'Origin:N', alt.value('lightgray'))
).properties(
    width=250,
    height=250
).add_selection(
    brush
)

chart.encode(x='Acceleration:Q') | chart.encode(x='Miles_per_Gallon:Q')

左邊圈起來的 Acceleration 數(shù)據(jù)點(diǎn),右邊會對應(yīng)顯示其 Miles_per_Gallon 數(shù)據(jù)點(diǎn):

圖片

除了這些,Altair還有更多的交互功能,比如選擇框拖動(dòng)、比例綁定、自動(dòng)響應(yīng)、表達(dá)式選擇等等。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)分析
    +關(guān)注

    關(guān)注

    2

    文章

    1452

    瀏覽量

    34086
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4800

    瀏覽量

    84839
  • Altair
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    10014
  • 數(shù)據(jù)可視化

    關(guān)注

    0

    文章

    467

    瀏覽量

    10326
收藏 人收藏

    評論

    相關(guān)推薦

    可視化MES系統(tǒng)軟件

    困難的問題,提高系統(tǒng)的構(gòu)件速度,降低構(gòu)件成本。所以本系統(tǒng)采用SOA 架構(gòu)。采用C#,.NET 開發(fā),企業(yè)數(shù)據(jù)庫采用ORACLE數(shù)據(jù)庫管理,利用GDI+、OWC等繪圖工具和Dundas數(shù)據(jù)可視化
    發(fā)表于 11-30 19:55

    個(gè)數(shù)據(jù)可視化項(xiàng)目

    2017年十大最佳數(shù)據(jù)可視化項(xiàng)目
    發(fā)表于 08-22 09:35

    python數(shù)據(jù)可視化的方法和代碼

    Python數(shù)據(jù)可視化匯總
    發(fā)表于 10-14 14:59

    Python數(shù)據(jù)可視化專家的七個(gè)秘密

    分享 Python數(shù)據(jù)可視化專家的七個(gè)秘密
    發(fā)表于 05-15 06:43

    15個(gè)玩轉(zhuǎn)數(shù)據(jù)可視化的技巧

    高手總結(jié)的15個(gè)技巧,讓你輕松玩轉(zhuǎn)數(shù)據(jù)可視化
    發(fā)表于 05-22 09:59

    Python數(shù)據(jù)可視化

    Python數(shù)據(jù)可視化:網(wǎng)易云音樂歌單
    發(fā)表于 07-19 08:30

    三維可視化的應(yīng)用和優(yōu)勢

    。  如設(shè)備出現(xiàn)問題,可以更加直觀的通過三維可視化運(yùn)維系統(tǒng)發(fā)現(xiàn),因?yàn)闀谙到y(tǒng)內(nèi)出現(xiàn)數(shù)據(jù)異常,甚至可以通過設(shè)置相對的閾值來進(jìn)行提醒,使得設(shè)備出現(xiàn)問題后能夠第時(shí)間發(fā)現(xiàn),減少維修時(shí)間和開支。提升設(shè)備的工作效率
    發(fā)表于 12-02 11:52

    般圖表做不了的分析,BI數(shù)據(jù)可視化圖表可以

    隨著業(yè)務(wù)變化,分析場景細(xì)分,出現(xiàn)了越來越多的般圖表做不了的分析,比如分析顧客滿意度,又比如分析展示運(yùn)動(dòng)軌跡、多項(xiàng)目進(jìn)程等。面對這些分析需求,我們通常會采用數(shù)據(jù)可視化工具上的專用可視化
    發(fā)表于 01-15 10:22

    常見的幾種可視化介紹

    說說常見的幾種可視化、信息可視化信息可視化就是對抽象數(shù)據(jù)進(jìn)行直觀視覺呈現(xiàn)的研究,抽象數(shù)據(jù)既包含
    發(fā)表于 07-12 07:49

    經(jīng)驗(yàn)分享|BI數(shù)據(jù)可視化報(bào)表布局——容器

    ,通過點(diǎn)擊BI數(shù)據(jù)可視化報(bào)表設(shè)計(jì)頁上方的【+】,點(diǎn)擊【容器】或【選項(xiàng)卡容器】即可應(yīng)用。容器:同一個(gè)平面上放多個(gè)數(shù)據(jù)可視化圖表;選項(xiàng)卡容器:同
    發(fā)表于 03-15 17:10

    使用Python可視化數(shù)據(jù),機(jī)器人開發(fā)編程

    機(jī)器學(xué)習(xí)開發(fā),與Mail.Ru Search數(shù)據(jù)分析負(fù)責(zé)人Egor Polusmak和Mail.Ru Group數(shù)據(jù)科學(xué)家Yury Kashnitsky起探索如何使用Python可視化
    的頭像 發(fā)表于 03-15 16:56 ?9012次閱讀

    數(shù)據(jù)可視化的常用技術(shù)和并行與原位可視化方法分析

    數(shù)據(jù)可視化就是將抽象的“數(shù)據(jù)”以可見的形式表現(xiàn)出來,幫助人理解數(shù)據(jù)。大數(shù)據(jù)可視化相對傳統(tǒng)的
    的頭像 發(fā)表于 04-17 16:51 ?6451次閱讀

    Charts.css是用于數(shù)據(jù)可視化的新的開源框架

    【導(dǎo)語】 :Charts.css 是用于數(shù)據(jù)可視化的開源 CSS 框架,幫助用戶理解數(shù)據(jù),幫助開發(fā)人員使用簡單的 CSS 類將數(shù)據(jù)轉(zhuǎn)換為漂亮
    的頭像 發(fā)表于 04-13 10:48 ?1988次閱讀

    使用Python來收集、處理和可視化人口數(shù)據(jù)

    分析和可視化: pandas:個(gè)提供高性能、易用數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具的
    的頭像 發(fā)表于 06-21 17:08 ?1428次閱讀
    使用Python來收集、處理和<b class='flag-5'>可視化</b>人口<b class='flag-5'>數(shù)據(jù)</b>

    個(gè)非常棒的可視化:PyG2Plot

    給大家推薦的這個(gè)開源項(xiàng)目是個(gè)非常棒的可視化 -- PyG2Plot 。 PyG2Plot 可視化 這個(gè)Python
    的頭像 發(fā)表于 10-21 11:32 ?1260次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>非常棒的<b class='flag-5'>可視化</b><b class='flag-5'>庫</b>:PyG2Plot
    百家乐最全打法| 百家乐视频游365| 太阳城巧克力| 百家乐下注几多| 百家乐官网软件稳赚| 棋牌游戏平台开发| 现场百家乐的玩法技巧和规则| 成都百家乐官网牌具| 百家乐官网游戏世界视频| 澳门网络博彩| 幸运水果机游戏下载| 百家乐决战推筒子| 杨公24山| 澳门百家乐官网现场真人版| 博彩投注网| 大发888老虎机平台| 百家乐皇室百家乐的玩法技巧和规则| 百胜百家乐软件| 百家乐官网庄6点| 百家乐官网破解的方法| 足球开户网| 大发888bet亚洲| 百家乐娱乐平台代理佣金| 百家乐游戏类型| 金杯百家乐官网的玩法技巧和规则| 百家乐官网现金投注信誉平台| 澳门百家乐官网心理| 网络博彩qq群| 利来国际| 大发888的示例| 老虎机游戏下载| 大发888娱乐城 建账号| 太原百家乐的玩法技巧和规则| 百家乐翻天qvod| 网上赌百家乐被抓应该怎么处理| 网上百家乐怎么破解| 百家乐下注的规律| 赌百家乐官网的玩法技巧和规则| 百家乐官网玩法最多的娱乐城| 真人百家乐官网视频赌博| 百家乐官网赌博网址|