2014-02-25 82 views
0

我想使用兩種不同的顏色在同一個matplotlib圖中繪製兩個數據點類別。matplotlib - 在同一張圖中標出帶有標籤的兩個數據集

以下代碼繪製了帶有標籤的一類數據點。

import matplotlib 
import pylab as plt 

x = [-0.39615277,-0.31426806,-0.17823952,-0.43836375,-0.26388058,-0.52400482, -0.26388058, -0.32637322] 
y = [0.28005737,0.44953214, 0.26899154, 0.36850831, -0.34592143, -0.24640466, -0.34592143, -0.45966878] 
n=['romeo','juliet','happy','dagger','live','die','free','hampshier'] 

fig, ax = plt.subplots() 
ax.scatter(x, y) 

for i, txt in enumerate(n): 
    ax.annotate(txt, (x[i],y[i])) 

matplotlib.pyplot.show() 

但我有下面的數據集必須在同一個圖中用不同的顏色繪製。

x1 = [-0.31086574,-0.40733041,-0.59446137,-0.60304575,-0.1428143] 
y1 = [0.36293322,0.54074246, 0.20005441, -0.6953914, -0.22866156] 
n1=['d1','d2','d3','d4','d5'] 

如何做到這一點?

enter image description here

回答

1

注:這篇文章被編輯刪除我的第一個答案沒有幫助,並用適當的更換。新的在這裏,對不起。 :)

繪製兩個散點圖將它們繪製在同一個圖上。因此,在有ax.scatter(x,y)的地方,之後直接放置第二個散點圖ax.scatter(x1,y1,c='red'),它將位於同一圖上。稍後,您可以註釋第二組點

for i, txt in enumerate(n1): ax.annotate(txt, (x1[i],y1[i]))

+0

請添加關於你的答案的一些描述。它可能很短但有助於理解你的答案。 – Rachcha

+0

@TheBigH:嘿TheBigH!我需要知道如何在同一圖中繪製這兩個數據集?這是我的主要問題。 –

+0

對不起,我以爲你在問如何繪製不同顏色的點。繪製兩個散點圖將在同一個圖上繪製它們。因此,在你有'ax.scatter(x,y)'的地方,直接在後面放置第二個散點圖ax.scatter(x1,y1,c ='red')',它將在同一個圖上。稍後,您可以使用'for i,txt在列舉(n1)中對第二組點進行註釋: ax.annotate(txt,(x1 [i],y1 [i]))' – TheBigH

相關問題