Matplotlib에서 산점도 애니메이션
산점도는 둘 이상의 변수 간의 관계를 시각화하는 데 유용한 도구입니다. 시간이 지남에 따라 데이터가 변경되면 산점도에 애니메이션을 적용하여 관계가 어떻게 전개되는지 확인하는 것이 도움이 될 수 있습니다.
위치, 크기 및 색상 업데이트
애니메이션을 적용하려면 분산형 차트를 사용하려면 애니메이션의 각 프레임에서 점의 위치, 크기 또는 색상을 업데이트해야 합니다. 이는 각각 Scatter 객체의 set_offsets, set_sizes 및 set_array 메소드를 사용하여 수행할 수 있습니다.
<code class="python">scat = plt.scatter(x, y, c=c) # Update position scat.set_offsets(new_xy) # Update size scat.set_sizes(new_sizes) # Update color scat.set_array(new_colors)</code>
FuncAnimation 사용
matplotlib의 FuncAnimation 클래스. 애니메이션 모듈을 사용하면 애니메이션의 각 프레임에서 산점도를 자동으로 업데이트할 수 있습니다. init_func 인수는 플롯을 초기화하기 위해 한 번 호출되고 업데이트 함수는 각 프레임에서 호출됩니다.
<code class="python">import matplotlib.animation as animation def update(i): # Update data x, y, c = get_data(i) # Update plot scat.set_offsets(x, y) scat.set_array(c) return scat, ani = animation.FuncAnimation(fig, update, interval=5) plt.show()</code>
예
다음 예는 점들이 무작위로 움직이고 시간에 따라 색상이 변하는 산점도:
<code class="python">import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation # Create random data num_points = 50 xy = (np.random.rand(2, num_points) - 0.5) * 10 c = np.random.rand(num_points) # Setup figure and axes fig, ax = plt.subplots() scat = ax.scatter(xy[0], xy[1], c=c, s=30) # Define animation update function def update(i): # Update data xy += np.random.rand(2, num_points) * 0.02 c = np.random.rand(num_points) # Update plot scat.set_offsets(xy) scat.set_array(c) return scat, # Create animation ani = animation.FuncAnimation(fig, update, interval=10) plt.show()</code>
이 애니메이션은 무작위로 움직이고 시간에 따라 색상이 변하는 50개 점의 산점도를 보여줍니다.
위 내용은 시간에 따라 변하는 데이터를 시각화하기 위해 Matplotlib에서 산점도에 애니메이션을 적용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!