我目前有一个nx3的矩阵数组。我想把这三列作为三个轴来绘制图形。 我该怎么做呢?
我已经搜索过了,人们建议使用Matlab,但我真的很难理解它。我还需要它是一个散点图。
我目前有一个nx3的矩阵数组。我想把这三列作为三个轴来绘制图形。 我该怎么做呢?
我已经搜索过了,人们建议使用Matlab,但我真的很难理解它。我还需要它是一个散点图。
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()
plt.zlabel('zlabel')
不起作用。要为 z 轴添加标签,需要使用:ax.set_zlabel('Z')
。 - Yonatan Simson使用以下代码,它对我有效:
# 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是我的三维数组时,我从该数组中复制/使用了一个列/轴,并分别分配给了那些变量/数组X_vals、Y_vals、Z_vals。
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()
n
行 3 列的数组,您将得到一个三维曲线的图形。对于“三维图形”,您需要一个n x m x l
的数组。您想要一条曲线,其中任何一个元组(x,y,z)
都代表曲线上的一个点吗? - Alok Singhal