上期介紹了使用R-ggplot繪製基礎柱形圖的繪製推文,本期按照慣例,我們繼續推出Python 版本的繪製方法,當然我們也是經過美化修飾的結果,畢竟要自己看的過去才行。本期推文主要涉及的知識點如下:
在使用基礎的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')既可以設置「暗黑」系列的繪圖風格啦,這裡直接給出繪製結果,大家可是合理選擇自己的繪圖風格主題啊。
總結本期推文的知識點也較為簡單,目的還是為了大家的基礎的圖表繪製練習,希望大家可以掌握。對了,最近好多小夥伴想要文章的繪圖數據,這裡就大家分享下,希望大家更好的練習。