这个问题与发布的问题有关here,其中我概述了我在模拟过程中在MATLAB中快速可视化3D散点图数据时遇到的问题 . (那里也提供了示例代码和数据 . )
作为在MATLAB中设置三维散点图的 XData
, YData
, ZData
, SizeData
和 CData
属性的替代方法,我可以将所有相应的源动态地linked绘制为三维散点图 . 链接的值将排队到缓冲区并定期绘制(例如,每0.5秒) . 根据我的理解,源代码会在后台刷新,因此包含链接数据的图表不会减慢模拟速度 . 根据我在文档中看到的,仅指定了 XDataSource
, YDataSource
和 ZDataSource
. 是否也可以动态链接大小和颜色数据源,如果没有,是否有一个简单的解决方法?
提醒一下,我在Windows 7上使用MATLAB R2016a .
1 回答
是的,可以使用类似命名的属性
SizeDataSource
CDataSource
这些属性设置为要链接以进行更新的变量的字符串名称 . 然后,通过链接,对这些命名变量的后续更新将在1/2秒左右(最快)反映在您的绘图中 .
但是,你的具体例子有一个很大的警告 .
通常在创建图形句柄时初始化
xxxxSource
字段 . 这将是你最初的scatter3
电话 .问题是您有八个单独的散点图句柄,每个句柄引用相同的变量,但具有不同的索引 . 也就是说,您正在将索引更新为这些变量以生成图像 .
这里使用参数链接的强力方法是创建八个不同的变量名称,并将每个变量名称链接到相应的散点图句柄 .
我认为更清洁的解决方案是使用计时器回调来在设定的时间间隔内更新内容 .