2014-03-25 2 views
1

저는 plt.plot()을 사용하여 데이터에서 생성 된 산포도 그래프를 얻었으며 그 위치에 따라 포인트를 쉽게 색칠 할 수 있는지 궁금해했습니다. x 축에 있습니까? 마찬가지로, x0과 x1 사이에 거짓말을하면 녹색이되고, x1과 x2는 파란색으로 바뀝니다. 어떤 도움이 필요합니까? 당신은 plt.scatter을 사용할 수 건배Matplotlib 다른 색상 포인트는 x의 범위에 따라 달라집니다

답변

3

는 :

import numpy as np 
import matplotlib.pyplot as plt 
import seaborn as sns 
sns.set_style("white") 

x, y = np.random.multivariate_normal([0, 0], [(1, .5), (.5, 1)], 200).T 
c = np.where(x < 0, "#27ae60", "#2980b9") 
plt.scatter(x, y, 30, c) 
sns.despine() 

enter image description here

+0

나는 내 경우에 그것을 적용하는 방법을하지 않습니다. 나는 틀렸어. plt.semilogx() 나는 그래프를 그리기 위해 사용하고있다. – user3361147

+0

'plt.plot' (뒤에서'semilogx '가 사용하는)을 사용하기로 마음 먹었다면, 데이터를 비우고 각 bin을 개별적으로 그려야 할 것입니다. 'scatter'를 사용하면 각 점에 대한 색상 배열을 전달할 수 있습니다. 귀하의 경우,'scatter'로 플로팅하기 전에 아마도'ax.set_xscale ("log")'를 할 수 있습니다. – mwaskom

+0

나는 아직도 그것에 고심하고있다. scatter()에서 30은 무엇입니까? 그리고 "# 27ae60", "# 2980b9"그 비트가 필요합니까, 아니면 제거 할 수 있습니까? – user3361147

관련 문제