【发布时间】:2016-04-16 01:38:25
【问题描述】:
问题:当尝试在 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)
它返回一个空立方体 (plotly link):
换句话说,已经捕获了行信息,但没有捕获人脸。即使我们尝试保留 MATLAB 样式,我们仍然会丢失人脸信息:
fig2plotly(gcf, 'strip', false)
有什么建议吗?
【问题讨论】:
-
欢迎来到 Stack Overflow,感谢您提出的非常好的问题:) 我只想指出,我总是对所谓的 plotly 完整文档的无用性感到惊讶。非常闪亮,完全没用。 (也许问题出在我身上。)从我能找到的少量信息来看,
fig2plotly应该主要靠自己完成它的工作。因此,如果您在这里没有得到其他人的答复,也许您应该提交错误报告。 -
@AndrasDeak 谢谢!我已经阅读 StackOverflow 有一段时间了,所以只是想坚持社区标准。事实上,我看不到任何关于 MATLAB 表面/补丁的文档,所以我可能不得不直接使用它们。同时,如果有人知道答案,我很想听听!