Matplotlib에서 플롯은 일반적으로 데이터 포인트를 직선으로 연결합니다. 특정 시나리오에서는 이것이 허용될 수 있지만 결과 그래프가 들쭉날쭉하거나 시각적으로 매력적이지 않을 수 있습니다. 이 문제는 선을 매끄럽게 하여 더 세련되고 유익한 시각화를 통해 해결할 수 있습니다.
Matplotlib에서 선을 매끄럽게 하려면 SciPy 라이브러리의 기능을 활용할 수 있습니다. scipy.interpolate.spline을 호출하면 원래 데이터 포인트를 통과하는 부드러운 곡선을 생성하는 보간 함수를 생성할 수 있습니다.
<code class="python">from scipy.interpolate import spline T = np.array([6, 7, 8, 9, 10, 11, 12]) power = np.array([1.53E+03, 5.92E+02, 2.04E+02, 7.24E+01, 2.72E+01, 1.10E+01, 4.70E+00]) xnew = np.linspace(T.min(), T.max(), 300) # Define the number of points for smoothing power_smooth = spline(T, power, xnew) plt.plot(xnew, power_smooth)</code>
SciPy 버전 0.19.0 이상에서는 스플라인이 더 이상 사용되지 않습니다. BSpline 클래스로 대체되었습니다. 유사한 결과를 얻으려면 다음 코드를 사용할 수 있습니다.
<code class="python">from scipy.interpolate import make_interp_spline, BSpline spl = make_interp_spline(T, power, k=3) # k=3 indicates cubic spline interpolation power_smooth = spl(xnew) plt.plot(xnew, power_smooth)</code>
직선이 있는 원래 플롯과 평활화된 플롯을 명확하게 비교할 수 있습니다.
[이전](https://i.sstatic.net/dSLtt.png)
[이후](https://i.sstatic.net/olGAh.png)
아시다시피 이미지에서 선을 부드럽게 하면 들쭉날쭉한 부분이 제거되어 시각적으로 더욱 매력적이고 유익한 그래프가 생성됩니다.
위 내용은 더 나은 시각화를 위해 Matplotlib에서 선을 부드럽게 하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!