2015-01-29 4 views
0

scores에 데이터의 산점도를 만들려고하는데 threshold 위의 값은 빨간색으로 표시됩니다. 그에 따라 색상을 표시하는 데 문제가 있습니다. 또한 labels에 지정된 인덱스에 대해 그림의 배경을 음영 처리하고 싶습니다.이 목록은 데이터 프레임 길이의 0과 1의 목록입니다. 아래는 제가 지금까지 가지고있는 코드입니다. 도움에 미리 감사드립니다!팬더 스 캐터 플롯 : 여러 색상 및 배경

import pandas 
... 

values = pandas.DataFrame({"scores":scores, "labels":labels, "indices":range(len(labels))}) 

# plot alerts in red, others in black 
alertValues = values.iloc[scores[scores >= threshold].index] 

ax = alertValues.plot(kind="scatter", x="indices", y="scores", c='r', 
    marker='.', s=5, alpha=0.5) 
values.plot(kind="scatter", x="indices", y="scores", c='r', 
    marker='.', s=5, alpha=0.5, ax=ax) 

# show plot 
plt.title(fileName) 
plt.show() 
+0

출력이 있다면 무엇을 얻을 수 있습니까? 예를 들어 그래프를 표시하고 있습니까?하지만 채색 만 해제되었거나 그래프를 볼 수 없습니까? –

+0

@aus_lacy 플롯을 볼 수 있지만 모든 데이터 포인트는 검은 색입니다. – BoltzmannBrain

+0

그레이 스케일을 사용할 수 있지만 색상을 스스로 정의 할 수 있습니다 (http://stackoverflow.com/questions/8202605/matplotlib-scatterplot-colour-as-a-function-of-a-third-variable 참조). 임계 값 아래에있는 모든 값을 하나의 색상으로 표시 한 다음 임계 값보다 큰 값을 동일한 플롯에 다른 색상으로 그립니다. 특정 인덱스를 음영 처리하는 것과 관련하여 나는 그것이 가능하지 않다고 말하는 것과 같은 것을하는 방법을 알지 못한다. 단지 그것을 할 수있는 방법을 알지 못한다. –

답변

1

문제는 pandas DataFrame에서 plot 기능을 호출하는 것입니다. 목록과 함께 pyplot을 사용하는 것이 훨씬 더 좋습니다.

plt.figure() 
plt.scatter(indices, scores) 
plt.scatter(fooIndices, fooScores) 
plt.show() 
관련 문제