python - 在 2-D 点与其对应的 3-D 值之间绘制一条线
问题描述
我正在尝试在 3-D Matplotlib 图中绘制虚线。我想在每个 ( x_pt, y_pt
) 到其对应的z_pt
.
from mpl_toolkits import mplot3d
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
import matplotlib
matplotlib.rcParams['mathtext.fontset'] = 'cm'
matplotlib.rcParams['axes.labelsize'] = 13
def z_function(x, y):
a = 1
b = 5.1/(4*np.pi**2)
c = 5/np.pi
r = 6
s = 10
t = 1/(8*np.pi)
return a*(y - b*x**2 + c*x - r)**2 + s*(1 - t)*np.cos(x) + s
x = np.linspace(-5, 10, 100)
y = np.linspace(0, 15, 100)
indexes = np.random.randint(0, 100, 5)
x_pt = x[indexes]
y_pt = y[indexes]
z_pt = z_function(x_pt, y_pt)
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.scatter(x_pt, y_pt, color='k', marker='x', depthshade=False)
ax.scatter(x_pt, y_pt, z_pt, color='k', marker='^', depthshade=False)
ax.set_xticks([-5, 0, 5, 10])
ax.set_yticks([0, 5, 10, 15])
ax.set_zticks([100, 200, 300])
ax.view_init(30, -120)
ax.set_xlabel(r'$x_1$')
ax.set_ylabel(r'$x_2$')
ax.zaxis.set_rotate_label(False)
ax.set_zlabel(r'$f(x)$', rotation=0)
ax.w_xaxis.pane.fill = False
ax.w_yaxis.pane.fill = False
ax.w_zaxis.pane.fill = False
plt.show()
谁能帮我这个?
解决方案
推荐阅读
- sabre - 作为航班搜索 API 请求的一部分的协商票价
- python - 如何从 PCA 的特征向量中正确地对特征进行排序
- r - 带字符串的 ifelse 语句
- kotlin - BleGattCharacteristicException:尝试指示->写入->通知 BLE 血糖仪时出现 GATT 异常状态 129
- python - 应用 anti_join 后我需要帮助找出代码错误
- python - 如何在 PyCharm 中更改 PEP 8 的命名约定检查?
- configure - 如何在 Cisco AnyConnect 安装程序中修改二进制文件?
- networkx - networkx 如何遍历图中的每个集群
- python - 选定列上的 DataFrame.values
- javascript - vuetify 表页面不起作用并重置回 1