一、背景介紹
散點圖是一種常見的數據可視化方式,在數據分析、機器學習等領域都有著廣泛的應用。Python作為一種強大的編程語言,本身就集成了各種繪圖庫,可以輕鬆地繪製各種類型的圖表,包括散點圖。
二、繪製簡單散點圖
首先,我們來看一下如何在Python中繪製一個簡單的散點圖。我們可以使用matplotlib庫,該庫是Python中最常用的數據可視化庫之一。下面是一個簡單的例子代碼:
import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [6, 7, 8, 9, 10] plt.scatter(x, y) plt.show()
運行此代碼,我們可以得到一張簡單的散點圖,如下所示:
三、自定義散點圖樣式
在上一個例子中,我們使用了默認的散點圖樣式。但是,當我們需要在實際的數據分析中,往往需要對散點圖的大小、顏色等進行自定義。下面是一個帶有不同顏色和大小的點的例子代碼:
import matplotlib.pyplot as plt import numpy as np x = [1, 2, 3, 4, 5] y = [6, 7, 8, 9, 10] colors = [0, 10, 20, 30, 40] # 顏色列表 sizes = [20, 40, 60, 80, 100] # 大小列表 plt.scatter(x, y, c=colors, s=sizes) plt.colorbar() # 顯示顏色條 plt.show()
運行此代碼,我們可以得到如下所示的散點圖:
從圖中我們可以看到,每個點的大小和顏色都不相同,這使得圖表更具有可讀性。
四、控制軸範圍和標籤
在實際應用中,往往需要對圖表的軸範圍和標籤進行控制,以更好地呈現數據。下面是一個控制軸範圍和標籤的例子代碼:
import matplotlib.pyplot as plt import numpy as np x = np.random.randint(1, 50, size=50) y = np.random.randint(1, 50, size=50) plt.scatter(x, y) plt.xlim(0, 60) # X軸範圍 plt.ylim(0, 60) # Y軸範圍 plt.xlabel("X軸標籤") plt.ylabel("Y軸標籤") plt.title("散點圖示例") plt.show()
運行此代碼,我們可以得到如下所示的散點圖,其中X軸和Y軸都有對應的標籤,軸範圍也被控制在了0~60之間:
五、實現互動式散點圖
最後,我們可以使用bokeh庫實現互動式散點圖。相比於靜態散點圖,互動式散點圖可以讓用戶自由地對數據進行探索和篩選。下面是一個使用bokeh庫繪製互動式散點圖的例子代碼:
from bokeh.plotting import figure, output_file, show from bokeh.models import ColumnDataSource import numpy as np # 生成數據 x = np.random.randint(1, 50, size=50) y = np.random.randint(1, 50, size=50) colors = ["red" if i<30 else "blue" for i in range(len(x))] # 顏色列表 # 創建ColumnDataSource對象 source = ColumnDataSource(data=dict( x=x, y=y, colors=colors, )) # 定義繪圖屬性 p = figure(title="互動式散點圖示例", x_range=(0, 60), y_range=(0, 60)) p.circle('x', 'y', color='colors', legend_label='散點圖', source=source, size=10) # 輸出文件 output_file("interactive-scatter.html") # 顯示圖表 show(p)
運行此代碼,我們可以在默認瀏覽器中打開一個互動式散點圖,如下所示:
在這個圖表中,我們可以用滑鼠懸停在每個散點上查看該點的詳細信息,並可以使用右上角的工具欄對圖表進行放大、縮小、保存等操作。
六、總結
本文介紹了Python中繪製散點圖的基本方法,並探討了如何自定義散點圖的樣式、控制軸範圍和標籤、以及如何使用bokeh庫實現互動式散點圖。散點圖作為一種常見的數據可視化方式,能夠直觀地呈現數據間的關係,對於數據分析和機器學習等領域有著廣泛的應用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/297946.html