팁 공개: 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
다음으로 3D 표면 그래프를 그려보겠습니다. 코드는 다음과 같습니다.
rrreee
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!