2014-02-25 2 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 in enumerate (n1)'이라는 주석을 달 수 있습니다. ax.annotate (txt, (x1 [i], y1 [i])) ' – TheBigH

관련 문제