Python-seaborn 基礎圖表繪製-柱形圖(數據分享)

2021-03-02 DataCharm

上期介紹了使用R-ggplot繪製基礎柱形圖的繪製推文,本期按照慣例,我們繼續推出Python 版本的繪製方法,當然我們也是經過美化修飾的結果,畢竟要自己看的過去才行。本期推文主要涉及的知識點如下:

Matplotlib inset_locator.inset_axes()自由添加圖片元素Python-seaborn繪製統計直方圖

在使用基礎的matplotlib雖然也能繪製出直方統計圖,但面對多類別數據則顯得較為蠻煩,基本系列課程的目的是為了大家系統掌握各種圖表的繪製方法,這裡我們還是使用Seaborn進行繪製,再通過設置繪圖風格以及必須的美化設置進行定製化操作。這裡用到的繪圖函數為seaborn.histplot() 用於繪製統計直方圖,我們直接給出繪圖代碼,再做部分知識點解釋。繪圖代碼如下(數據還是使用上期的數據,這裡就不放數據預覽了,對數據不了解可以查看上期推文即可):

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

plt.style.use('fivethirtyeight') #設置繪圖主題
fig,ax = plt.subplots(figsize=(7,4.5),dpi=200)

#設置字體:這種字體感覺高端大氣
plt.rcParams["font.family"] = "Roboto Condensed" 

palette = ['#FF8C03',"#A034F1","#0F8B8B"]
his = sns.histplot(data=data,x="flipper_length_mm",hue="species",palette=palette,alpha=1,
           hue_order=["Adelie","Chinstrap","Gentoo"],lw=.5,edgecolor="black",ax=ax)

#添加標題
#title
ax.text(.08,1.1,"Base Charts in Python Exercise 02: Bar Charts",
       transform = ax.transAxes,color='k',ha='left',va='center',size=18,fontweight='extra bold')
#subtitle
ax.text(.01,1.02,"processed bar charts with seaborn.histplot()",
       transform = ax.transAxes,color='k',ha='left',va='center',size=9,fontweight='bold')
#caption
ax.text(.91,-.1,'\nVisualization by DataCharm',transform = ax.transAxes,
        ha='center', va='center',fontsize = 8,color='black',fontweight='bold')
plt.savefig(r'seaborn_histplot.png',width=7,
            height=4.5,dpi=900,bbox_inches='tight')
plt.show()

知識點:

更改matplotlib 默認主題風格由於具體涉及到較多繪圖元素的設置,我們這裡直接採用matplotlib內置的主題風格,代碼如下:
plt.style.use('fivethirtyeight') #設置繪圖主題

文本元素的添加常看我文章的小夥伴可能知道,我在添加一些文本要素(如title、subtitle、caption等)時沒有使用其默認的繪圖語法,只是使用ax.text()繪製,這樣的好處是可以任意設置位置,如下:
#caption
ax.text(.91,-.1,'\nVisualization by DataCharm',transform = ax.transAxes,
        ha='center', va='center',fontsize = 8,color='black',fontweight='bold')

注意: transform = ax.transAxes 的設置可以是你的文本要素位置更加靈活,希望大家可以掌握。

最終可視化效果如下:可視化的效果還是很不錯哦

Matplotlib inset_locator.inset_axes()自由添加圖片元素

這裡的繪圖方法,我之前的推文也有說過,既然是基礎系列,我這邊就儘可能的將每一個重要的知識點單獨列出,這裡使用了一個matplotlib不怎麼常用的繪圖方法添加圖片元素,即inset_axes()方法,完整帶入方法如下:

from mpl_toolkits.axes_grid1.inset_locator import inset_axes

我們直接給出要繪製圖片的代碼,如下:

img = r"lter_penguins.png"
image = plt.imread(img)
#添加圖片
aximins = inset_axes(ax,width=2,height=2,
                      bbox_to_anchor=(.1, .55, .2, .6), #[left, bottom, width, height],
                      bbox_transform=ax.transAxes)
im = aximins.imshow(image,zorder=0)
aximins.axis('off')

將以上代碼加入之前代碼中即可添加圖片,最終的可視化效果如下:

繪圖主題更換

我們可以通過設置:

plt.style.use('dark_background')

既可以設置「暗黑」系列的繪圖風格啦,這裡直接給出繪製結果,大家可是合理選擇自己的繪圖風格主題啊。

總結

本期推文的知識點也較為簡單,目的還是為了大家的基礎的圖表繪製練習,希望大家可以掌握。對了,最近好多小夥伴想要文章的繪圖數據,這裡就大家分享下,希望大家更好的練習。

相關焦點

  • Python-seaborn 基礎圖表繪製-散點圖
    上期推文推出第一篇基礎圖表繪製-R-ggplot2 基礎圖表繪製-散點圖 的繪製推文,得到了很多小夥伴的喜歡,也是我更加想使這個系列做的更加完善和系統,我之前也有說過,會推出Python和R的兩個版本繪製教程,接下來我們就推出基礎散點圖的Python繪製版本。
  • Python數據可視化—Seaborn
    今天為大家分享的小技巧是python的可視化畫圖庫Seaborn。相信很多小俠客用過matplotlib、pyecharts等可視化庫,可是為什麼還要介紹Seaborn呢?因為它修復了上述兩個庫的一些缺點,比如Seaborn提供了大量的高級接口和自定義主題,而matplotlib沒有這些接口使得很難確定哪些設置來自定義圖表。
  • 推薦: 一本「高顏值」的Python語言數據可視化圖書
    所以很有必要系統性地介紹python的繪圖語法系統,包括最基礎也最常用的matplotlib包、常用於統計分析的seaborn、最新出現類似R ggplot2語法的plotnine以及用於地理空間數據可視化的basemap包。在先介紹數據可視化基礎理論後,本書系統性地介紹了幾乎所有常見的二維和三維圖表的繪製方法,包括簡單的柱形圖系列、條形圖系列、折線圖系列,地圖系列等。
  • Python-Matplotlib 動態柱形圖繪製(數據分享)
    這期開始,我們將公眾號剛開始的不成熟風格文章推文改成與現在相統一的風格,同時也為了解決大家複製不了代碼的問題,本期推文,將介紹使用Python-matplotlib 繪製動態柱形圖的教程推文,主要涉及的知識點如下:matplotlib的animation模塊製作動態圖animation
  • python數據科學系列:seaborn入門詳細教程
    這是一個基於matplotlib進行高級封裝的可視化庫,相比之下,繪製圖表更為集成化、繪圖風格具有更高的定製性。教程目錄seaborn是python中的一個可視化庫,是對matplotlib進行二次封裝而成,既然是基於matplotlib,所以seaborn的很多圖表接口和參數設置與其很是接近。
  • 用數據可視化工具Seaborn繪製圖表
    Seaborn可以很好地處理數據幀,而Matplotlib則不行,它可以讓你以更簡單的方式繪製引人注目的圖表。為了更好地理解本文,你需要了解pandas和matplotlib的基礎知識。使用seaborn和Pokemon(口袋妖怪)數據集的屬性,我們將創建一些非常有趣的可視化效果。我們首先要看的是散點圖。散點圖散點圖使用點來表示不同數值變量的值。每個點在水平軸和垂直軸上的位置表示單個數據點的值。它們用於觀察變量之間的關係。
  • 用Seaborn繪製圖表
    Seaborn是一個功能強大的Python庫,用於增強數據可視化。它為Matplotlib提供了大量高級接口。Seaborn可以很好地處理數據幀,而Matplotlib則不行,它可以讓你以更簡單的方式繪製引人注目的圖表。
  • R筆記7:ggplot繪製商務圖表--地圖上的迷你柱形圖
    本例用ggplot來繪製商業圖表仿的第025號案例,地圖上的迷你柱形圖。
  • Python-seaborn 經濟學人經典圖表仿製
    上篇原創推文使用了R-ggplot2 實現了經濟學人經典的圖表仿製實現R-ggplot2 經典經濟學人圖表仿製,所以這期呢,我們就使用Python-seaborn實現這個經典的經濟學人圖表再現。主要涉及的知識點如下:Python-seaborn regplot回歸線性擬合圖繪製Python-seaborn 繪製擬合線圖首先,我們預覽下數據(部分):
  • Python數據可視化-seaborn Iris鳶尾花數據
    導入庫讀取數據數據欄位介紹:在做categorical visualization的時候,seaborn給出了基礎的stripplot & swarmplot, boxplot &StripplotStripplot的本質就是把數據集中具有quantitative屬性的變量按照類別去做散點圖(Scatterplot)。我們將紙鳶花數據集中不同種類花的sepal length做stripplot可視化上邊左側的圖片便是在默認風格下用stripplot繪製的散點圖。
  • Python可視化 | Seaborn經濟學人經典圖表仿製
    上篇原創推文使用了R-ggplot2 實現了經濟學人經典的圖表仿製實現R-ggplot2 經典經濟學人圖表仿製,所以這期呢,我們就使用Python-seaborn實現這個經典的經濟學人圖表再現。主要涉及的知識點如下:Python-seaborn regplot回歸線性擬合圖繪製Python-seaborn 繪製擬合線圖首先,我們預覽下數據(部分):其中Region_new 列則是根據相關要求更改的新列,作圖也是以次數據為基礎的。
  • 怎樣繪製漂亮的統計圖表|不一樣的折線圖
    上一期 怎樣繪製漂亮的統計圖表|柱狀圖的正確打開方式 講了柱狀圖,這期我們來聊一聊折線圖。上期在『早起python』與『可樂的數據分析之路』公眾號給大家提供了本期的練習數據:數據集2,可以看到數據集2是日期和數值組成的數據,對於描述隨時間變化的數據,最好用折線圖,在Excel裡非常簡單的3步曲搞定:選中數據——點擊插入——點擊推薦的圖表就插入了下圖這個折線圖。
  • Python Seaborn綜合指南,成為數據可視化專家
    當我們使用seaborn生成圖時,我將以實際的方式全面地回答這個問題。現在,讓我們快速討論一下seaborn為什麼在matplotlib之上。Seaborn使我們的圖表和繪圖看起來很吸引人,並支持一些常見的數據可視化需求(比如將顏色映射到變量或使用分面(faceting))。
  • python-數據分布型圖表-箱形圖系列-多數據系列箱形圖
    多數據系列的箱形圖多數據系列的箱形圖:多數據系列的箱形圖使用geom_boxplot()函數,只需要將兩組變量映射到填充顏色(fill
  • Python-matplotlib: 散點圖的繪製
    ,所使用的數據關於全球教育水平劃分的師生比例,涉及到的包主要為matplotlib和seaborn,當然用於數據處理分析的pandas和 numpy也必不可少。本文涉及的數據主要包括兩種,一種為全球各大洲的網格數據,用於繪製另類散點圖例,一種為全球各州的教育水平的師生比例,用於散點圖的繪圖。各大洲的網格數據如下(部分):如紅框所示,為所需要的數據,用於繪圖。
  • excel 今天了解一下柱形圖的基礎知識,介紹如何修改柱形圖
    今天了解一下柱形圖的基礎知識,介紹如何修改柱形圖。下面是我們今天用到的基礎數據。如果要做前6個月的手機銷量各月的比較,可以先選擇A1:B7區域,插入柱形圖(快捷鍵是Alt+F1)。>■ 操作步驟1:增減數據如果要將前6個月的電腦數據也要展示在圖表中,可以選擇圖表,光標移動到數據區域右下角,拖動到C7單元格即可。
  • 生信分析系列 | 輕鬆利用Python繪製基因表達熱圖
    (閱讀本文需要簡單了解python中的函數、python模組的安裝與模組的調用)文末有驚喜,免費Python信息分析培訓班送給你哦
  • Origin繪製分組堆積柱形圖
    顯示單個項目佔整體的百分比大小有多種方式,除了之前教大家的餅圖,還可以使用百分比堆積柱形圖。軟體:Origin導入到Origin工作表後如下,注意,導入到工作表的數據為原始數值,不是佔比,當繪製堆積柱形圖時,軟體會根據數據自動計算佔比。
  • excel圖表技巧:如何將堆積柱形圖變成圓形邊界?
    說到excel中的圖表,想必大家首先想到的就是柱形圖。通常情況下,我們看到的柱形圖都是方方正正的數據條,但是今天要給大家分享的是圓形的柱形圖!說到這裡,有的小夥伴可能會問了「害,幹嘛把好好的柱形圖弄成圓形,直接插入餅圖不就好了嗎!」no !no !no!它和餅圖可不一樣,這個「圓形」還有顏色分層的效果哦!是不是很好奇呢?趕緊來看看吧!
  • 數據挖掘從入門到放棄(五)seaborn 的數據可視化
    http://seaborn.pydata.org/index.html」python數據分析的可視化庫有:matplotlib 是可視化的必備技能庫,比較底層,api很多,學起來不太容易。seaborn 是建構於matplotlib基礎上,能滿足絕大多數可視化需求。