2016-10-06 3 views
4

아마도이 질문은 이미 있지만 찾을 수 없습니다.플롯 바깥 쪽의 점을 상한으로 설정하십시오.

저는 파이썬에서 분산 형 플롯을 만들고 있습니다. 설명을 위해 모든 축이 포함되도록 축 범위를 설정하고 싶지 않습니다. 실제로는 매우 높거나 낮은 값이있을 수 있습니다.이 점에서 제가 관심을 갖는 것은 그것이 존재한다는 것입니다. 줄거리에 있어야하지만 실제 가치가 아니라 캔버스 상단에있는 것이 좋습니다.

나는 IDL에서 이것에 대한 멋진 짧은 구문이 있음을 알고 있습니다. plot(x,y<value)에서 value보다 큰 y의 값은 y=value에 간단히 표시됩니다.

나는 Python으로 비슷한 것을 찾고있다. 누군가 나를 도울 수 있습니까?

답변

1

있을 것이다. np.minimum은 요소 단위로 최소값을 계산하므로 ymax보다 큰 값만 ymax으로 설정됩니다.

import matplotlib.pyplot as plt 
import numpy as np 

x = np.linspace(0., np.pi*2, 30) 
y = 10. * np.sin(x) 

ymax = 5 

fig, ax = plt.subplots(1) 
ax.scatter(x, np.minimum(y, ymax)) 

plt.show() 

enter image description here

예 :

2

matplotlib에는 동등한 구문 당이 없습니다. 방금 그 한계로 상한 위에 아무것도 설정 y 데이터 np.minimum를 사용할 수있는 전처리에 데이터, 예컨대 :

import numpy as np 
import matplotlib.pyplot as plt 

ymin, ymax = 0, 0.9 
x, y = np.random.rand(2,1000) 
y[y>ymax] = ymax 
fig, ax = plt.subplots(1,1) 
ax.plot(x, y, 'o', ms=10) 
ax.set_ylim(ymin, ymax) 
plt.show() 
관련 문제