반응형
3D 산점도를 만드는 방법
저는 현재 nx3 매트릭스 어레이를 보유하고 있습니다.저는 세 개의 열을 세 축의 열로 플롯하고 싶습니다.내가 어떻게 그럴 수 있을까?
저는 구글에서 Matlab을 사용해보고 사람들이 추천해줬는데, 이해하기가 정말 어렵습니다.산점도가 필요합니다.
이에 대해 matplotlib을 사용할 수 있습니다. matplotlib에는 원하는 작업을 정확히 수행하는 mplot3d 모듈이 있습니다.
import matplotlib.pyplot as plt
import random
fig = plt.figure(figsize=(12, 12))
ax = fig.add_subplot(projection='3d')
sequence_containing_x_vals = list(range(0, 100))
sequence_containing_y_vals = list(range(0, 100))
sequence_containing_z_vals = list(range(0, 100))
random.shuffle(sequence_containing_x_vals)
random.shuffle(sequence_containing_y_vals)
random.shuffle(sequence_containing_z_vals)
ax.scatter(sequence_containing_x_vals, sequence_containing_y_vals, sequence_containing_z_vals)
plt.show()
위의 코드는 다음과 같은 수치를 생성합니다.
다음 코드를 사용하십시오.
# Create the figure
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# Generate the values
x_vals = X_iso[:, 0:1]
y_vals = X_iso[:, 1:2]
z_vals = X_iso[:, 2:3]
# Plot the values
ax.scatter(x_vals, y_vals, z_vals, c = 'b', marker='o')
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
ax.set_zlabel('Z-axis')
plt.show()
X_iso는 내 3D 어레이이며 X_vals, Y_vals, Z_vals의 경우 해당 어레이에서 1열/축을 복사/사용하여 해당 변수/어레이에 각각 할당했습니다.
from mpl_toolkits import mplot3d
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = plt.axes(projection='3d')
산점도
zdata = 15 * np.random.random(100)
xdata = np.sin(zdata) + 0.1 * np.random.randn(100)
ydata = np.cos(zdata) + 0.1 * np.random.randn(100)
ax.scatter3D(xdata, ydata, zdata);
플롯 사용 - 가장 쉽고 가장 기능적이며 좋은 그림
import plotly.express as px
df = px.data.iris()
fig = px.scatter_3d(df, x='sepal_length', y='sepal_width', z='petal_width',
color='species')
fig.show()
https://plotly.com/python/3d-scatter-plots/
언급URL : https://stackoverflow.com/questions/1985856/how-to-make-a-3d-scatter-plot
반응형
'programing' 카테고리의 다른 글
java -jar를 실행하는 동안 Main-Class 매니페스트 특성을 로드하지 못했습니다. (0) | 2023.08.01 |
---|---|
Ruby on Rails 활성 레코드를 사용하여 여러 레코드를 삽입합니다. (0) | 2023.08.01 |
배열을 오라클 프로시저로 전달 (0) | 2023.08.01 |
iOS 시뮬레이터에 딥 링크를 전달하시겠습니까? (0) | 2023.08.01 |
인스턴스 수준에서 메서드 재정의 (0) | 2023.07.27 |