如何在Seaborn圖表中調整刻度數量?


簡介

刻度是Matplotlib用來表示資料點在圖表兩條軸上位置的小符號。它們的位置可以最佳匹配資料範圍,並用於突出顯示x軸和y軸上的某些位置。通常,刻度可以被標記以指示它們代表的精確值。在python包Seaborn中,有兩個函式,即xticks()和yticks(),可用於調整給定圖表的刻度。

語法

要調整Seaborn圖表中的刻度數量,我們可以使用以下語法:

# Set the tick locations and labels for the x-axis
ax.set_xticks([tick1, tick2, ...])
ax.set_xticklabels([label1, label2, ...])

# Set the tick locations and labels for the y-axis
ax.set_yticks([tick1, tick2, ...])
ax.set_yticklabels([label1, label2, ...])

這兩種方法還有一個可選的minor引數來設定主刻度或次刻度。這裡,ax是Seaborn繪圖函式返回的軸物件,tick1、tick2……是所需的刻度位置,label1、label2……是對應的刻度標籤。

演算法

調整Seaborn圖表中刻度數量的通用分步演算法如下:

  • 選擇要使用的Seaborn繪圖函式,例如sns.scatterplot()。

  • 建立一些資料或載入一些自己的資料。

  • sns.set()sns.set_style()例程可用於更改Seaborn主題和樣式。

  • 要繪製資料,請使用選擇的Seaborn繪圖函式。

  • 建立一個指向繪圖軸物件的變數。

  • 要設定x軸和/或y軸上的刻度數量,請使用set xticks() 和/或set yticks()方法。這些函式的引數是刻度位置列表。

  • 要設定x軸和/或y軸上刻度的標籤,請使用set xticklabels() 和/或set yticklabels()方法。這些函式的引數是刻度標籤列表。

  • 使用show()方法在視窗上繪製它。

示例

按照下面的示例,建立你自己的帶有自定義x軸刻度位置和標籤的Seaborn箱線圖。

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

# Generate some random data
data = np.random.randn(20)

# Set up the Seaborn plot
sns.set()
sns.set_style("whitegrid")
ax = sns.boxplot(x=data)

# Set the tick locations and labels, can also use np array here
ax.set_xticks([0, 1])
ax.set_xticklabels(["A", "B"])

# Show the plot
plt.show()
  • 首先,使用NumPy中的random.randn函式建立一些隨機資料。然後,使用set和set_style函式設定Seaborn圖表的視覺樣式。

  • 透過對資料使用boxplot函式並將生成的軸物件儲存在變數axe中,我們可以建立一個箱線圖。然後,使用軸物件axe的set_xticks和set_xticklabels方法設定x軸的刻度位置和標籤。

  • 在這個例子中,我們指定刻度位置為“A”和“B”,並將它們分別設定為0和1的位置。最後,我們使用matplotlib的pyplot模組的show函式顯示圖表。請注意,如果你執行這段程式碼,最終的圖表可能看起來並不特別引人注目。

  • 由於我們只繪製了20個隨機選擇的資料點,並且x軸上只有兩個刻度,因此如果你執行此程式碼,生成的圖表可能看起來並不那麼引人注目。為了生成更具有啟發性的圖表,你可以更改程式碼以使用你自己的資料並調整刻度位置和標籤。

示例
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

# Generate some random data
data = np.random.randn(20)

# Set up the Seaborn line plot
sns.set()
sns.set_style("whitegrid")
ax = sns.lineplot(x=[0, 1, 2], y=[1, 2, 3])

# Set the ytick locations and labels, can also use np array here
ax.set_yticks([0, 1, 2, 3, 4])
ax.set_yticklabels(["A", "B", "C", "D", "E"])

# Show the plot
plt.show()
  • 在這裡,我們使用Python中的Seaborn庫生成一個線圖。該圖有5個y刻度,標籤為“A”、“B”、“C”、“D”和“E”。

  • 首先,匯入Seaborn庫和Matplotlib庫。然後,使用np.random.randn()方法生成一個NumPy隨機資料陣列。

  • 接下來,使用Seaborn設定圖表,並使用whitegrid樣式。使用sns.lineplot()方法生成線圖,並指定x值和y值。

  • 要調整y刻度,使用帶有y刻度位置值列表的ax.set_yticks()方法。然後,使用帶有y刻度標籤列表的ax.set_yticklabels()方法。

  • 最後,使用plt.show()方法顯示圖表。

結論

在本文中,我們探討並瞭解到,調整Seaborn圖表中的刻度數量可以使我們的視覺化效果更具資訊量且更易於閱讀。使用set_xticks()set_yticks()函式,我們可以輕鬆調整x軸和y軸上刻度的數量及其標籤。我們還可以使用其他Seaborn函式來進一步自定義圖表中的刻度。我們還看到了兩個實踐示例,幫助我們調整圖表中x刻度和y刻度的數量。

更新於:2023年3月24日

14K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.