簡體   English   中英

多圖合二為一 plot

[英]Multiple plots into one plot

嗨,我正在使用 matplotlib,我正在嘗試創建一個平均 plot。 我有那些 arrays -

A_x = [1,3,4]
A_y = [1,2,3]
B_x = [2,3,5]
B_y = [2,3,4]

我想創建這個數組(平均數組)

AB_x = [1,2,3,4,5]
AB_y = [1,2,(3+2)/2,3,4]

我正在使用 pandas \ numpy \ matplotlib

你可以使用字典來做到這一點。 首先將 A 的值轉換為字典,然后相應地更新它。 如果您的 dict 已經包含密鑰,請通過均值公式對其進行更新,否則添加一個條目。 rest 只是將其轉換為舊格式以獲取 x 和 y 的單獨列表,但您可以根據您使用的 matplotlib 函數跳過此操作。

編碼:

A_x = [1,3,4]
A_y = [1,2,3]
B_x = [2,3,5]
B_y = [2,3,4]

AB = {x: y for x, y in zip(A_x, A_y)}

for key, value in zip(B_x, B_y):
    if key in AB:
        AB[key] = (AB[key] + value) / 2
    else:
        AB[key] = value

AB_list = [(x, y) for x, y in AB.items()]
AB_list.sort(key=lambda entry: entry[0])
AB_x, AB_y = list(zip(*AB_list))
AB_x = list(AB_x)
AB_y = list(AB_y)

請注意,這僅在您知道您有兩個來源(在您的情況下為 A 和 B)時才有效,因為否則,平均值將是錯誤的。

暫無
暫無

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

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