繁体   English   中英

如何制作matplotlib来绘制3D Tricontour?

[英]How to make a matplotlib to plot a 3D tricontour?

如何在不同平面上使用3D(如2D中的tricontourf)使带有matplotlib的图表类型为COMSOL?

示例图

图表示例COMSOL

抱歉在评论中添加链接并稍后删除它们,这是我的第一个问题...

这是我用来绘制2d的代码。 我有一个包含4列的矩阵:

fig, ax = plt.subplots(1); fig.set_figwidth(17); fig.set_figheight(7);

    x = a[:, 0]; 
    y = a[:, 1]; 
    t = a[:, 3];

    fig_1 = ax.tricontourf(x, y, t); 
    ax.tricontour(x, y, t, colors = 'k'); ax.scatter(x, y)
    ax.set_xlabel("Eje y [mm]", fontsize = 20); ax.set_ylabel("Eje x [mm]", fontsize = 

plt.show()

但是当我尝试在3D模式下制定计划无法正常工作时,颜色层会分开:

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
from matplotlib import cm

fig = plt.figure()
ax = fig.gca(projection='3d')

cset = ax.tricontourf(x, y, t, zdir= 'z', cmap=cm.coolwarm)
fig.colorbar(cset)

plt.show()

我有同样的问题。 只需将offset设置为某个z值即可。

cset = ax.tricontourf(x, y,t,  zdir= 'z', cmap=cm.coolwarm,offset=1.0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM