0
我有一個函數包裝在matplotlib中作圖。我想知道如何從函數內部返回圖形句柄。我想使用圖形手柄通過在其上添加更多點來更新圖形。點的大小應該取決於它的數據點的值。數據點越大,點的大小越大。matplotlib - 用點更新現有的地塊
我有一個函數包裝在matplotlib中作圖。我想知道如何從函數內部返回圖形句柄。我想使用圖形手柄通過在其上添加更多點來更新圖形。點的大小應該取決於它的數據點的值。數據點越大,點的大小越大。matplotlib - 用點更新現有的地塊
一種常用的方法是從您的函數返回一個Axes
對象。您可以直接從Axes
進行額外的繪圖。
你不說你的功能是否正在使用pyplot狀態機或裸機Matplotlib,但這裏是前者的一個例子:
import matplotlib.pyplot as plt
x = range(3)
y1 = [2, 1, 3]
y2 = [3, 2, 1]
def plot_data(x, y):
"""Plots x, y. Returns the Axes."""
plt.plot(x, y, '-.k')
return plt.gca()
ax = plot_data(x, y1)
ax.scatter(x, y2, s=y2)
在這裏我們也使用s=
參數指定的大小的每一點。 Matplotlib爲這些值假設某些單位,所以你最終可能不得不乘以一些常數來縮放它們以符合你的美學。
請注意,除了返回軸之外,有時還需要您的繪圖函數還將現有的軸作爲參數。