我想繪制原始數據的簡單線性圖,由第一列的數學函數組成。在第一行,我想繪制基函數,由不同正弦函數的線性圖組成。在后續的每一行中,我都想繪制流圖,包括每個函數在每個基函數上的投影,所以最后我基本上有一個 12x6 的子圖矩陣。我還想為每個子圖添加標題。我遇到的問題是流圖和線性圖來自不同的數據,我想用 for 循環解決它。我希望這不會太混亂。到目前為止我得到了這個:functions = [c_f, l_f, pa_f, po_f,n_, log_f, sin, series_vl12, series_apr12, series_mlr202, ex_pn]base_func = [sin1, sin2, sin3, sin4, sin5]U = []V = []for i in sums_phi: U.append(r * np.cos(i)) V.append(r * np.sin(i))Y, X = np.mgrid[:101:1,:101:1]plt.figure(figsize=(15,40))for x, (i, j) in enumerate(zip(U, V)): plt.subplot(11, 5, x+1) #function(a, b) plt.streamplot(X,Y,i,j, density = 1 )plt.show()這給了我沒有原始數據線性子圖的流圖。
1 回答

呼如林
TA貢獻1798條經驗 獲得超3個贊
您可以在子圖的定義中再添加一行,將問題一分為二。首先繪制流線圖,然后繪制線性圖。
這里制作了一小段代碼,您可以根據自己的情況進行調整:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100)
fig, axs = plt.subplots(3, 3)
axs = axs.ravel()
for i in range(6):
axs[i].plot(x, x**0.5)
給我前 6 個子圖:
for i in range(3): axs[i+6].plot(x, x**2, c='r')
然后我可以在最后 3 個子圖中繪制另一個函數:
希望對您的問題有所幫助。
添加回答
舉報
0/150
提交
取消