我想在matplotlib的3D散点图中添加恒定的x,y,z线,从这个极限点扩展,我可以知道如何做到这一点吗?
x_limit = [-0.5]
y_limit = [151]
z_limit = [1090]
示例代码:
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import pandas as pd
from scipy.stats import multivariate_normal
fig = plt.figure(figsize=(8,8)) # size 4 inches X 4 inches
ax = fig.add_subplot(111, projection='3d')
np.random.seed(42)
xs = np.random.random(100)*-0.8
ys = np.random.random(100)*300
zs = np.random.random(100)*10500
plot = ax.scatter(xs,ys,zs)
ax.set_title("3D plot with limit")
ax.set_xlabel("x")
ax.set_ylabel("y")
ax.set_zlabel("z")
x_limit = [-0.5]
y_limit = [151]
z_limit = [1090]
ax.scatter(x_limit, y_limit, z_limit, c = 'g', marker = "s", s = 50)
plt.show()
1条答案
按热度按时间92vpleto1#
这段代码应该可以。不过,有几件重要的事情需要注意。首先,创建的网格栅格之所以有效,是因为三个轴中的每个轴共享相同的限制。其次,虽然x_limit和y_limit值作为
X
和Y
参数工作,但似乎Z
参数应该具有更高的维度(因此我使用full_like
来填充与x_1
和x_2
相同形状的数组,并使用Z限制)。