如何在Matplotlib中建立具有多種顏色的散點圖?


散點圖是一種資料視覺化方法,用於顯示兩個變數之間的關係。在圖上,每個資料點的座標對應於該資料點在兩個變數上的值,用標記或符號表示該資料點。該圖形有助於查詢資料中的模式、趨勢和異常值。

可以使用著名的Python模組Matplotlib建立散點圖和其他型別的資料視覺化。透過提供每個繪圖點應所屬的顏色列表,使用者可以使用Matplotlib建立具有各種顏色的散點圖。透過這種方式,我們可以使用該圖來直觀地顯示第三個變數或類別。

使用Matplotlib中的scatter函式和c引數傳入x和y資料以及顏色列表來建立散點圖。此外,使用者可以向圖中新增標籤、標題和圖例,以提供有關資料的上下文和詳細資訊。透過檢查生成的圖,我們可以瞭解變數之間的關係,並發現任何有趣的趨勢或模式。

使用C引數

Matplotlib的scatter函式的c引數指定散點圖中每個標記的顏色。它可以採用多種形式,具體取決於使用者希望如何將顏色與資料相關聯。

如果c引數傳遞單個顏色字串或RGBA值的元組,則散點圖的標記將全部具有相同的顏色。例如,如果c='blue'或c=(0.0, 0.0, 1.0, 1.0),則會生成具有藍色標記的散點圖。

語法

import matplotlib.pyplot as plt
plt.scatter(x, y, c=colors)

將繪製在x軸和y軸上的資料分別用x和y表示。c引數定義標記的顏色陰影。cmap引數可以將此對映到顏色圖,作為單一顏色、一系列顏色或一系列值。

示例1

在這個例子中,我們建立了一個具有多種顏色的散點圖。我們為colors列表中的每個點提供一個顏色,為x和y列表中的每個點提供座標。然後將這些列表傳遞給scatter()方法,其中透過設定c=colors來指定每個點的顏色。最後,我們使用plt.show()顯示圖,並使用plt.xlabel()、plt.ylabel()和plt.title()新增標籤和標題。

import matplotlib.pyplot as plt

# Define x, y, and colors for each point
x = [1, 2, 3, 4, 5]
y = [5, 4, 3, 2, 1]
colors = ['red', 'green', 'blue', 'yellow', 'purple']

# Create a scatter plot with multiple colors
plt.scatter(x, y, c=colors)

# Add labels and title
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Scatter plot with Multiple Colours!')

plt.show()

輸出

示例2

在這個例子中,我們使用Matplotlib建立了一個具有多種顏色的散點圖。我們匯入了Matplotlib和NumPy這兩個必要的庫。然後,我們使用NumPy的rand函式生成一些隨機的x和y資料,以及散點圖中每個點的隨機顏色列表。然後使用scatter函式使用x、y和c引數建立具有各種顏色的散點圖。c引數指定要為每個點使用的顏色列表。然後透過使用顏色條函式新增顏色條來顯示顏色值與其關聯值之間的對映。這有助於解讀故事中使用的顏色的意義。

最後,我們使用xlabel、ylabel和title方法向圖中新增標籤和標題。這有助於提供有關正在繪製的資料的上下文和詳細資訊。

import matplotlib.pyplot as plt
import numpy as np

# Generating some random data
x = np.random.rand(50)
y = np.random.rand(50)
colors = np.random.rand(50)

# Creating a scatter plot with different colors
plt.scatter(x, y, c=colors)

# Adding a color bar
plt.colorbar()

# Add labels and a title
plt.xlabel('X Label')
plt.ylabel('Y Label')
plt.title('Scatter Plot with Several Colors')

# Show the plot
plt.show()

輸出

執行顯示具有各種顏色的散點圖的程式碼可以指導我們理解資料中不同變數之間的關係。該圖還將具有標籤和標題,以進一步解釋正在顯示的資料。

更新於:2023年5月10日

12K+ 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

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