gpt4 book ai didi

python - 在 SymPy 的 `` plot3d`` 中更改颜色图

转载 作者:太空宇宙 更新时间:2023-11-03 15:00:27 25 4
gpt4 key购买 nike

在 SymPy 中,您可以根据表达式自动绘制曲面,即

from sympy import symbols
from sympy.plotting import plot3d

x, y = symbols('x y')
monkey_saddle = x**3 - 3*x*y**2
plot3d(monkey_saddle, cmap="RdYlBu")

得到

enter image description here

我找不到任何改变颜色图的kwarg。我知道我可以创建一个 lambdify,然后直接使用 matplotlib 绘制绘图。但我很好奇是否有一种方法可以直接在 SymPy 中完成。

最佳答案

看了sympy.plotting.plot.py的源码,好像cmap设置成了jet:

collection = self.ax.plot_surface(x, y, z, 
cmap=self.cm.jet,
rstride=1, cstride=1,
linewidth=0.1)

需要设置collections对象的cmap,调用plot3d()前调用unset_show()禁止调用pyplot.show():

from sympy import symbols
from sympy.plotting import plot3d
from sympy.plotting.plot import unset_show

unset_show()

x, y = symbols('x y')
monkey_saddle = x**3 - 3*x*y**2
p = plot3d(monkey_saddle)

p._backend.ax.collections[0].set_cmap("RdYlBu_r")

enter image description here

关于python - 在 SymPy 的 `` plot3d`` 中更改颜色图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38379403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com