簡體   English   中英

在 matplotlib 中繪制不同形狀的 2D arrays

[英]Plotting different shape 2D arrays in matplotlib

我找不到這個具體案例的任何答案。 假設我想從以下數據創建散點 plot:

y = np.array([[1,2,3,6,5,3,4,2],[1,2,4,5,5,3,3,2]])
X = np.array([[86],[82]])

其中y[0]的所有值都是X[0] (86) 的對應值,依此類推。 我知道我可以只使用 numpy repeat function 但我想也許還有其他更可行的選擇? 我試圖重塑任何 arrays 但它沒有幫助。 有任何想法嗎?

我真的很喜歡 numpy 的瓷磚 function。 我認為沒有辦法“放大” X[i] 以使其與 y[i] 的長度相匹配

import numpy as np
import matplotlib.pyplot as plt

y = np.array([[1,2,3,6,5,3,4,2],[1,2,4,5,5,3,3,2]])
X = np.array([[86],[82]])

for i in range(len(X)):
    plt.plot(np.tile(X[i], len(y[i])), y[i], '.')

你不需要做太多事情。 Matplotlib 將數據的每一視為單獨的可廣播數據集。 所以你需要做的就是轉置你的輸入並讓它發揮它的魔力。

plt.scatter(x.T, y.T)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM