메모
전체 예제 코드를 다운로드 하려면 여기 를 클릭 하십시오.
마스킹된 값과 NaN 값 플로팅 #
누락된 값이 있는 데이터를 플로팅해야 하는 경우가 있습니다.
한 가지 가능성은 원하지 않는 데이터 포인트를 간단히 제거하는 것입니다. 나머지 데이터를 통해 그려진 선은 연속적이며 누락된 데이터가 있는 위치를 나타내지 않습니다.
데이터가 누락된 라인에 간격이 있는 것이 유용한 경우 마스킹된 배열 을 사용 하거나 해당 값을 NaN으로 설정하여 원하지 않는 지점을 표시할 수 있습니다. x 또는 y가 마스크된 곳에 마커가 그려지지 않으며, 선으로 플로팅하는 경우 해당 위치에서 끊어집니다.
다음 예는 세 가지 경우를 보여줍니다.
포인트 제거.
마스킹 포인트.
NaN으로 설정합니다.
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-np.pi/2, np.pi/2, 31)
y = np.cos(x)**3
# 1) remove points where y > 0.7
x2 = x[y <= 0.7]
y2 = y[y <= 0.7]
# 2) mask points where y > 0.7
y3 = np.ma.masked_where(y > 0.7, y)
# 3) set to NaN where y > 0.7
y4 = y.copy()
y4[y3 > 0.7] = np.nan
plt.plot(x*0.1, y, 'o-', color='lightgrey', label='No mask')
plt.plot(x2*0.4, y2, 'o-', label='Points removed')
plt.plot(x*0.7, y3, 'o-', label='Masked values')
plt.plot(x*1.0, y4, 'o-', label='NaN values')
plt.legend()
plt.title('Masked and NaN data')
plt.show()