自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python數(shù)據(jù)可視化,seaborn如何做出非常規(guī)圖表

開發(fā) 后端 數(shù)據(jù)可視化
這一節(jié)我們就來看看,如何使用 seaborn 生成標(biāo)準(zhǔn)圖表,然后結(jié)合 matplotlib 做出定制效果。特別是多系列的情況下,會(huì)有一些技巧。

前言

上一節(jié)(Python可視化,matplotlib最佳入門練習(xí) )我們只是單純使用 matplotlib 制作出以下圖表:

 

Python數(shù)據(jù)可視化,seaborn如何做出非常規(guī)圖表
  • 每年小麥產(chǎn)量柱狀圖
  • 使用不同顏色標(biāo)記最小與最大值的柱子

但是,如果只是制作標(biāo)準(zhǔn)的圖表,我們有許多其他的選擇。最常見的就是使用 seaborn ,他是基于 matplotlib 的包裝。

這一節(jié)我們就來看看,如何使用 seaborn 生成標(biāo)準(zhǔn)圖表,然后結(jié)合 matplotlib 做出定制效果。

特別是多系列的情況下,會(huì)有一些技巧。

本文目標(biāo)圖表是這樣:

 

Python數(shù)據(jù)可視化,seaborn如何做出非常規(guī)圖表

2個(gè)系列。每個(gè)系列找出最小最大的柱子,標(biāo)記成不同的顏色

本文所需要的庫(kù)如下:

 

Python數(shù)據(jù)可視化,seaborn如何做出非常規(guī)圖表

數(shù)據(jù)是這樣子:

 

Python數(shù)據(jù)可視化,seaborn如何做出非常規(guī)圖表

上一節(jié)做的事情如下:

  • 設(shè)置 x 軸標(biāo)簽的旋轉(zhuǎn)角度
  • 設(shè)置某個(gè)指定柱狀圖的柱子顏色

簡(jiǎn)單把這些事情包裝成函數(shù):

 

Python數(shù)據(jù)可視化,seaborn如何做出非常規(guī)圖表

使用 seaborn 的代碼,實(shí)際與上一節(jié)直接使用 matplotlib 差不多:

 

Python數(shù)據(jù)可視化,seaborn如何做出非常規(guī)圖表

 

Python數(shù)據(jù)可視化,seaborn如何做出非常規(guī)圖表

看起來 seaborn 沒有特別的地方!

這是因?yàn)槲覀冎挥幸粋€(gè)系列(上圖只涉及2個(gè)維度:wheat 與 year)

多系列

稍微修改一下數(shù)據(jù),

 

Python數(shù)據(jù)可視化,seaborn如何做出非常規(guī)圖表
  • 行3、4、5:復(fù)制一份數(shù)據(jù),小麥產(chǎn)量隨機(jī)生成
  • 行7、8:新增一個(gè)列"type",把數(shù)據(jù)劃分成2類:"原始" 、"修改"
  • 行10:合并成一份數(shù)據(jù)
  • 行12:避免數(shù)據(jù)太多,圖表不利于閱讀,我只保留1750年以后的數(shù)據(jù)

現(xiàn)在數(shù)據(jù)成這樣:

 

Python數(shù)據(jù)可視化,seaborn如何做出非常規(guī)圖表

每個(gè)年份都有2行記錄,字段"type"可以區(qū)分他們

使用 seaborn 可以非常方便映射多個(gè)維度的數(shù)據(jù):

 

Python數(shù)據(jù)可視化,seaborn如何做出非常規(guī)圖表

行1:hue 是類別映射,通常如果有一個(gè)列數(shù)據(jù)是文本,就可以映射上去。這里把數(shù)據(jù)中的"type"字段映射

圖表成這樣子:

 

Python數(shù)據(jù)可視化,seaborn如何做出非常規(guī)圖表

顯然沒有標(biāo)記出最大值的柱子

同時(shí)也提示執(zhí)行有錯(cuò)誤

如果我們查看圖表的容器就能看出關(guān)鍵:

 

Python數(shù)據(jù)可視化,seaborn如何做出非常規(guī)圖表

原來,seaborn 柱子分成2組。這是非常合理的

但數(shù)據(jù)范圍索引,卻是在整個(gè)數(shù)據(jù)共27行中查找

顯然,我們需要是2組的范圍索引:

 

Python數(shù)據(jù)可視化,seaborn如何做出非常規(guī)圖表

語義非常清晰直白

但是,怎么準(zhǔn)確從圖表容器中找到需要的 BarContainer:

 

Python數(shù)據(jù)可視化,seaborn如何做出非常規(guī)圖表

行7與行12:里面的 0 和 1 都是猜測(cè)的

原來,seaborn 在生成這些容器時(shí),給容器的 label 屬性寫入了對(duì)應(yīng)的數(shù)據(jù)值(就是我們數(shù)據(jù)的"type"字段):

 

Python數(shù)據(jù)可視化,seaborn如何做出非常規(guī)圖表

注意,你不能使用 key 索引方式獲取,比如寫: axcontainers['修改'] ,這會(huì)報(bào)錯(cuò)

萬事俱備,定義如下函數(shù):

 

Python數(shù)據(jù)可視化,seaborn如何做出非常規(guī)圖表

現(xiàn)在調(diào)用變得非常簡(jiǎn)單:

 

Python數(shù)據(jù)可視化,seaborn如何做出非常規(guī)圖表

圖表成這樣子:

 

Python數(shù)據(jù)可視化,seaborn如何做出非常規(guī)圖表

接下來我會(huì)繼續(xù)編寫更多非常規(guī)要求的圖表,敬請(qǐng)關(guān)注!

責(zé)任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2023-08-01 16:01:59

可視化Seaborn

2010-07-21 16:44:22

telnet服務(wù)

2021-08-30 11:40:06

PythonSeaborn可視化

2021-04-09 10:42:03

數(shù)據(jù)可視化框架大數(shù)據(jù)

2024-12-24 07:30:00

Seaborn可視化Python

2019-07-26 09:19:32

數(shù)據(jù)可視化架構(gòu)

2021-10-11 08:04:22

Python數(shù)據(jù)行程

2020-03-01 14:01:22

Echarts數(shù)據(jù)可視化圖表

2013-06-14 09:59:55

大數(shù)據(jù)預(yù)測(cè)分析

2025-02-10 00:45:00

pairplotheatmaplmplot

2015-10-29 09:36:48

2015-08-20 10:04:40

可視化

2022-09-19 00:21:31

機(jī)器學(xué)習(xí)數(shù)據(jù)數(shù)據(jù)集

2015-03-06 09:55:21

數(shù)據(jù)可視化誤區(qū)渣圖表

2019-05-28 11:52:43

可視化圖表數(shù)據(jù)

2009-03-05 10:50:00

WLANMesh-Wifi終端

2018-11-28 14:53:56

華為

2020-03-11 14:39:26

數(shù)據(jù)可視化地圖可視化地理信息

2022-08-04 13:58:54

SeabornFacetGrid代碼

2021-08-04 20:35:03

可視化SeabornMatplotlib
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)