>백엔드 개발 >파이썬 튜토리얼 >공개된 팁: Python으로 아름다운 3D 차트 그리기

공개된 팁: Python으로 아름다운 3D 차트 그리기

王林
王林원래의
2023-09-28 13:01:501187검색

공개된 팁: Python으로 아름다운 3D 차트 그리기

팁 공개: Python을 사용하여 아름다운 3D 차트 그리기

소개:
데이터 시각화 분야에서 아름다운 3D 차트를 만들면 데이터의 특성과 추세를 보다 직관적으로 표시할 수 있습니다. 강력한 프로그래밍 언어인 Python에는 이 목표를 달성하는 데 도움이 되는 많은 라이브러리와 도구가 있습니다. 이 기사에서는 독자가 Python으로 아름다운 3D 차트를 그리는 데 필요한 몇 가지 팁과 구체적인 코드 예제를 공유하여 독자가 차트를 더 잘 이해하고 적용할 수 있도록 돕습니다.

1. 준비:
시작하기 전에 matplotlib, numpy 및 mpl_toolkits.mplot3d를 포함하여 몇 가지 필수 Python 라이브러리를 설치해야 합니다. 다음 코드를 통해 설치할 수 있습니다.

pip install matplotlib

pip install numpy

pip install mpl_toolkits.mplot3d

2. 간단한 3D 산점도 그리기:
먼저 간단한 3D 산점도를 그려보겠습니다. 코드는 다음과 같습니다.

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = np.random.standard_normal(100)
y = np.random.standard_normal(100)
z = np.random.standard_normal(100)

ax.scatter(x, y, z)

plt.show()

이 예에서는 먼저 Figure 개체와 Axes3D 개체를 만들고 Axes3D 개체를 추가합니다. 그림에 추가되었습니다. 그런 다음 x, y, z 좌표로 표준 정규 분포를 따르는 100개의 난수를 생성하고 scatter 방법을 사용하여 3D 좌표계에 산점도를 그립니다. Figure对象和一个Axes3D对象,并通过add_subplot方法将Axes3D对象添加到Figure中。然后,我们生成100个服从标准正态分布的随机数作为x、y、z坐标,并使用scatter方法在3D坐标系上绘制散点图。

三、绘制3D曲面图:
接下来,我们尝试绘制一个3D曲面图。代码如下:

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)

X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

ax.plot_surface(X, Y, Z, cmap='viridis')

plt.show()

在这个示例中,我们首先生成了x和y坐标的一维数组,并利用meshgrid方法生成了一个网格,然后根据公式计算了z坐标的值。最后,使用plot_surface方法绘制了3D曲面图。

四、绘制3D柱状图:
除了散点图和曲面图,我们还可以绘制3D柱状图来展示数据的分布情况。代码如下:

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = np.arange(10)
y = np.arange(10)
X, Y = np.meshgrid(x, y)
Z = np.random.randint(1, 10, (10, 10))

ax.bar3d(X.flatten(), Y.flatten(), np.zeros_like(Z).flatten(), 1, 1, Z.flatten())

plt.show()

在这个示例中,我们首先生成了x和y坐标的一维数组,并利用meshgrid方法生成了一个网格,然后利用random.randint方法生成了一个10x10的随机整数数组作为z坐标的值。最后,使用bar3d

3. 3D 표면 그래프 그리기:

다음으로 3D 표면 그래프를 그려보겠습니다. 코드는 다음과 같습니다.
rrreee

이 예제에서는 먼저 x, y 좌표의 1차원 배열을 생성하고 meshgrid 메서드를 사용하여 그리드를 생성한 후 의 값을 계산했습니다. 공식에 따른 z 좌표 . 마지막으로 plot_surface 메서드를 사용하여 3D 표면 플롯을 그렸습니다. 🎜🎜4. 3D 히스토그램 그리기: 🎜산점도와 표면도 외에도 3D 히스토그램을 그려 데이터 분포를 표시할 수도 있습니다. 코드는 다음과 같습니다. 🎜rrreee🎜이 예제에서는 먼저 x, y 좌표의 1차원 배열을 생성하고 meshgrid 메서드를 사용하여 그리드를 생성한 다음 를 사용합니다. random.randint 메소드는 z 좌표의 값으로 임의의 정수로 구성된 10x10 배열을 생성합니다. 마지막으로 <code>bar3d 메서드를 사용하여 3D 히스토그램을 그립니다. 🎜🎜결론: 🎜이 기사 공유를 통해 우리는 산점도, 표면도 및 히스토그램 그리기를 포함하여 Python으로 아름다운 3D 차트를 그리는 데 필요한 몇 가지 기술과 구체적인 코드 예제를 배웠습니다. 이러한 기술은 데이터의 특성과 추세를 더 잘 표시하고 데이터 시각화 효과를 향상시키는 데 도움이 될 수 있습니다. 독자들이 학습과 실습을 통해 이러한 기술을 더욱 익히고 실제 프로젝트에서 유연하게 사용할 수 있기를 바랍니다. 🎜

위 내용은 공개된 팁: Python으로 아름다운 3D 차트 그리기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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