>백엔드 개발 >파이썬 튜토리얼 >색상, 크기 및 위치를 변경하여 애니메이션 산점도를 만드는 방법은 무엇입니까?

색상, 크기 및 위치를 변경하여 애니메이션 산점도를 만드는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-05 22:21:02322검색

How to Create Animated Scatter Plots with Changing Colors, Sizes, and Positions?

산점도 애니메이션: 색상, 크기 및 위치 변경

문제: 색상, 크기 및 위치가 변경되는 애니메이션 산점도를 만듭니다. 포인트의 개수는 주어진 데이터 매트릭스에 따라 동적으로 변경됩니다.

데이터 형식:

  • 데이터: 모양이 있는 Numpy ndarray(ntime, npoint)
  • x: x 좌표를 나타내는 모양(npoint)이 있는 Numpy ndarray
  • y: y 좌표를 나타내는 모양(npoint)이 있는 Numpy ndarray

목표: 다음 기능을 사용하여 산점도에 애니메이션을 적용합니다.

  • scat.set_offsets(array)를 업데이트하여 점의 위치를 ​​변경합니다. 여기서 배열은 x 및 y 좌표의 2D 배열입니다.
  • scat.set_sizes(array)를 업데이트하여 포인트의 크기를 변경합니다. 여기서 array는 크기의 1D 배열입니다.
  • scat.set_array(array)를 업데이트하여 포인트의 색상을 변경합니다. 여기서 array는 1D 배열입니다.

해결책:

다음은 색상, 크기 및 위치를 변경하여 애니메이션 분산형 차트를 만드는 방법을 보여주는 코드 템플릿입니다. :

<code class="python">import matplotlib.pyplot as plt
import numpy as np
import matplotlib.animation as animation

# Generate random data
numpoints = 50
x, y, s, c = next(data_stream()).T

# Create a figure and axes
fig, ax = plt.subplots()

# Create a scatter plot and set its initial data
scat = ax.scatter(x, y, c=c, s=s, vmin=0, vmax=1, cmap="jet", edgecolor="k")

# Initialize FuncAnimation
ani = animation.FuncAnimation(fig, update, interval=5, init_func=setup_plot, 
                                          blit=True)

# Setup plot
def setup_plot():
    ax.axis([-10, 10, -10, 10])
    return scat,

# Data stream generator
def data_stream():
    xy = (np.random.random((numpoints, 2))-0.5)*10
    s, c = np.random.random((numpoints, 2)).T
    while True:
        xy += 0.03 * (np.random.random((numpoints, 2)) - 0.5)
        s += 0.05 * (np.random.random(numpoints) - 0.5)
        c += 0.02 * (np.random.random(numpoints) - 0.5)
        yield np.c_[xy[:,0], xy[:,1], s, c]

# Update plot
def update(i):
    data = next(data_stream())
    scat.set_offsets(data[:, :2])
    scat.set_sizes(300 * abs(data[:, 2])**1.5 + 100)
    scat.set_array(data[:, 3])
    return scat,</code>

이 코드 조각은 색상, 크기 및 위치를 변경하여 분산형 차트에 애니메이션을 적용하는 방법의 예를 제공합니다. 특정 요구 사항에 맞게 데이터 생성 및 애니메이션 매개변수를 사용자 정의할 수 있습니다.

위 내용은 색상, 크기 및 위치를 변경하여 애니메이션 산점도를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.