簡體   English   中英

python上多個圖和多個圖例的問題

[英]questions on multiple plots and multiple legend on python

我有以下代碼,有人可以幫助我修復它嗎? 我想在python numpy / matlab圖上有多個圖例。

 import numpy as np
    import matplotlib.pyplot as plt
    fig = plt.figure(1)
    x0 = np.array([[1,2,2,3]])
    x1 = np.array([[2,2,4,3]])
    y0 = np.array([[1,6,2,7]])
    y0 = np.array([[4,2,2,5]])
    p1= plt.scatter(x0,x1,color='blue',s=3)
    p2= plt.scatter(y0,y0,color='red',s=3)
    leg = plt.legend((p1,p2),('class0','class1'),fontsize=8)
    plt.show()

我希望我的下圖出現在無花果上並有自己的傳說

    plt.hold(True)
    z0 = np.array([[11,16,13,17]])
    z1 = np.array([[13,16,12,17]])
    p3 = plt.scatter(z0,z1,color='k')
    plt.show()

我應該如何為p3添加圖例?

在這里,我將所有三個散點圖放在同一圖上,其中一個圖例位於右上角,另一個圖例位於右下角。

我們可以通過向軸添加第一個圖例來顯示兩個圖例,如matplotlib圖例指南中所述

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure(1)
x0 = np.array([[1,2,2,3]])
x1 = np.array([[2,2,4,3]])
y0 = np.array([[1,6,2,7]])
y0 = np.array([[4,2,2,5]])
p1= plt.scatter(x0,x1,color='blue',s=50, label='class0')
p2= plt.scatter(y0,y0,color='red',s=50, label='class1')
z0 = np.array([[11,16,13,17]])
z1 = np.array([[13,16,12,17]])
p3 = plt.scatter(z0,z1,color='k', s=75, label='class3')

leg = plt.legend(handles=[p1, p2], fontsize=8, loc=1)
ax = plt.gca().add_artist(leg)
plt.legend(handles=[p3], fontsize=8, loc=4)
plt.show()

在此處輸入圖片說明

暫無
暫無

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

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