用seaborn 畫出唯美的論文專用圖片

寫在前面的話

好久不來,隨便看了下CSDN推送的熱門文章,標題都相當無恥了啊,大家爲了騙閱讀量都把標題取得這麼騷。而且像我這麼俗的人,肯定也是必須要爲強權低頭的,媽呀。這個標題我自己看着眼睛都有點疼,不知道爲毛現在程序○都喜歡搞成專業網絡寫手,現在還讓不讓人活了。。。


一向不正經的正文

1. 什麼是 seaborn

seaborn 可以看成是matplotlib的一個輔助和升級的工具,可能叫升級有點不太準確,主要是爲了給matplotlib 做輔助的吧,它很有自己的風格。我覺得畫圖還是不錯的,大家有時間可以學起來。

今天我們就介紹一下,怎麼使用seaborn 畫出唯美的科研論文圖片。到底怎麼個唯美法呢,我們先來看看幾個例子,

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述
哈哈哈,要是有人覺得不好,emmm, 那也沒有辦法,我喜歡就好,哈哈哈哈,而且別人的意見我也不是很在意,此處應該有一個厭世臉 = =


2. 相關資料

大家可以在下面這些網站上看到更多的教程

https://python-graph-gallery.com/

https://seaborn.pydata.org/

關於seaborn 用的例子,我們可以在github上找到相應的數據集,具體的可以參見下面的這個連接

https://github.com/mwaskom/seaborn-data

你要用seaborn 作圖,主要是要明白這個的作圖的數據集要怎麼創建。現在很多網站給的例子都是官網上的例子,給一個隨機數,然後生成一個圖片,可能學習模仿的意義不打,直接用數據集,教你手把手構建屬於自己的數據集,然後畫圖,是本文的主要任務。

使用

我們要使用seaborn 當然是要先下載安裝好它,我們可以這麼做:

pip install seaborn

在這裏我們會藉助pandas 來處理我們的數據, 所以也需要安裝一下,pandas

pip install pandas

我們以熱力圖來作爲例子,講解怎麼使用seaborn 來作圖

# 引入基本的模塊
import numpy as np
import seaborn as sb
import matplotlib.pyplot as plt

# 創造一個隨機的矩陣作爲我們的輸入數據
data = np.random.rand(4, 6)
heat_map = sb.heatmap(data)
plt.show()

在這裏插入圖片描述
這樣,我們們就得到上面這個圖片。當然這個的實用性太差了,我們要自己定製我們的數據集。

畫我們自己的專屬圖片,可以看下面的這個例子。


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

sns.set()
 # 加載我們自己的數據集,這個數據集是一個叫做flights的CSV文件
flights = sns.load_dataset("flights") 
flights = flights_long.pivot("month", "year", "passengers")
ax = sns.heatmap(flights)
plt.title("Heatmap Flight Data")
plt.show()

你就可以得到下面的這個圖片了
在這裏插入圖片描述

flights = sns.load_dataset("flights") 
flights = flights_long.pivot("month", "year", "passengers")

上面的語句可以替換爲

df = pd.pivot_table(data=sns.load_dataset("flights"),
                    index='month',
                    values='passengers',
                    columns='year')

可能這樣大家就更好理解每一個是什麼意思了,就是每一列表示的是年份,每一個月就是縱座標,然後旁邊的顏色帶代表的是乘客的數目,顏色越深就說明乘客數目越多。

這個flights 的數據集是什麼樣子的,我們可以看一下

在這裏插入圖片描述
這個是一個CSV的表格,它是有表頭的,表頭的數據必須和我們的pivot的寫的行列內容一致否則就會報錯。
然後我們發現這個表可以看成是一個笛卡爾集,然後你要話這個heatmap也要構建一個類似的數據集就可以了。

之後在看官網的教程,不妨先仔細看看他的數據集是什麼構建的,然後就能依葫蘆畫瓢完成對應的圖片了


seaborn 支持用戶自己換顏色,你可以這麼做

>>> heat_map = sb.heatmap(data, cmap="YlGnBu")

cmap這裏替換成你想要的顏色模式

在這裏插入圖片描述



Reference


https://likegeeks.com/seaborn-heatmap-tutorial/

喜歡我的話,咪咪咪~

在這裏插入圖片描述




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章