是否可以在sympy plot3d图上放置颜色条?

问题描述 投票:0回答:1

所以我有一个3d图,我从文档中说明的sympy符号中得出,让我们说代码是

from sympy import symbols
from sympy.plotting import plot3d
x, y = symbols('x y')
plot3d(x*y, (x, -5, 5), (y, -5, 5))

我如何在其上附加颜色条?

python matplotlib sympy
1个回答
0
投票

使用this post中的代码,您可以将图移到matplotlib并使用matplotlib绘制颜色栏:

from sympy import symbols
from sympy.plotting import plot3d
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

x, y = symbols('x y')
plot1 = plot3d(x*y, (x, -5, 5), (y, -5, 5), show=False)

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

backend = plot1.backend(plot1)
backend.ax = ax
backend._process_series(backend.parent._series, ax, backend.parent)
plt.close(backend.fig)
ax.collections[0].set_cmap('inferno') # optionally change the colormap
plt.colorbar(ax.collections[0])
plt.show()

example plot

© www.soinside.com 2019 - 2024. All rights reserved.