使用 Plotly 渲染 MATLAB 面片 fig2plotly()
Rendering MATLAB patch faces with Plotly fig2plotly()
问题:当尝试在 MATLAB 中使用 fig2plotly
导出使用 patch
命令渲染的多边形时,最终输出缺少指定的面颜色。
也许演示会有所帮助。取下面的顶点和面定义一个立方体(摘自MATLAB文档):
vert = [0 0 0;1 0 0;1 1 0;0 1 0;0 0 1;1 0 1;1 1 1;0 1 1];
fac = [1 2 6 5;2 3 7 6;3 4 8 7;4 1 5 8;1 2 3 4;5 6 7 8];
并使用 patch 命令渲染它,为面部添加一些颜色信息:
patch('Vertices',vert,'Faces', fac, 'FaceVertexCData',hsv(8),'FaceColor','interp')
并以 3D 方式查看:
view(3)
axis vis3d
这给出了一个漂亮的立方体,其表面具有插值颜色值。
现在,如果我们尝试使用 fig2plotly
命令将其导出到 Plotly:
fig2plotly(gcf)
它 returns 一个空立方体 (plotly link):
也就是说,拍到了线条信息,但没有拍到人脸。即使我们试图保留 MATLAB 样式,我们仍然会丢失面部信息:
fig2plotly(gcf, 'strip', false)
有什么建议吗?
版本中添加了对补丁的改进支持。 2.2.9 的包装器 (https://github.com/plotly/MATLAB-Online)。
您可以通过在 plotlyfig.m 文件中将 TriangulatePatch 默认设置为 true 来切换此改进的补丁处理。
(https://github.com/plotly/MATLAB-Online/blob/master/plotly/plotlyfig.m#L61)
尚不支持颜色渐变,但补丁本身现在应该呈现。可以通过手动修改 plotlyfig 对象的属性或使用 Web 界面来修改颜色。
问题:当尝试在 MATLAB 中使用 fig2plotly
导出使用 patch
命令渲染的多边形时,最终输出缺少指定的面颜色。
也许演示会有所帮助。取下面的顶点和面定义一个立方体(摘自MATLAB文档):
vert = [0 0 0;1 0 0;1 1 0;0 1 0;0 0 1;1 0 1;1 1 1;0 1 1];
fac = [1 2 6 5;2 3 7 6;3 4 8 7;4 1 5 8;1 2 3 4;5 6 7 8];
并使用 patch 命令渲染它,为面部添加一些颜色信息:
patch('Vertices',vert,'Faces', fac, 'FaceVertexCData',hsv(8),'FaceColor','interp')
并以 3D 方式查看:
view(3)
axis vis3d
这给出了一个漂亮的立方体,其表面具有插值颜色值。
现在,如果我们尝试使用 fig2plotly
命令将其导出到 Plotly:
fig2plotly(gcf)
它 returns 一个空立方体 (plotly link):
也就是说,拍到了线条信息,但没有拍到人脸。即使我们试图保留 MATLAB 样式,我们仍然会丢失面部信息:
fig2plotly(gcf, 'strip', false)
有什么建议吗?
版本中添加了对补丁的改进支持。 2.2.9 的包装器 (https://github.com/plotly/MATLAB-Online)。
您可以通过在 plotlyfig.m 文件中将 TriangulatePatch 默认设置为 true 来切换此改进的补丁处理。 (https://github.com/plotly/MATLAB-Online/blob/master/plotly/plotlyfig.m#L61)
尚不支持颜色渐变,但补丁本身现在应该呈现。可以通过手动修改 plotlyfig 对象的属性或使用 Web 界面来修改颜色。