带有两个y轴的python 3d图

时间:2020-07-30 07:17:32

标签: python matplotlib

我正在尝试创建一个类似于以下this paper的图,基本上是一个具有两个不同的y轴的3d图。按照this blog中的指导,我创建了一个最小的示例。

模块

from mpl_toolkits import mplot3d
import numpy as np
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt

创建一些数据

def f(x, y):
    return np.sin(np.sqrt(x ** 2 + y ** 2))

x = np.linspace(-6, 6, 30)
y = np.linspace(-6, 6, 30)

X, Y = np.meshgrid(x, y)
Z = f(X, Y)
Z2 = Z*100+100

绘图
这将创建一个漂亮的3d图,但显然只有一个y轴。在网上找不到关于如何到达python的任何建议,尽管有些关于matlab的建议。

fig = plt.figure()
ax = plt.axes(projection='3d')
ax.plot_surface(X, Y, Z2, rstride=1, cstride=1,
                cmap='viridis', edgecolor='none')
ax.set_title('surface');
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z');

代码给出:

plot

参考图: this one

0 个答案:

没有答案
相关问题