我需要在Matlab中写一个脚本,它会从Excel表中读取一些数据,并在Matlab的图形中绘制一个圆图。然而,我被建议使用 Excel 工具来绘制它。在 Excel 中绘制圆图并不难,但我仍然没有找到任何方法让它在 Matlab 中工作,使用 Matlab 的图形。我已经在其他论坛上问过这个问题,但没有收到任何答复。如果有任何帮助,我将不胜感激。
最佳答案
于是,我想通了如何在Matlab的图中使用ActiveX控件。
首先,您需要安装驱动程序 mschrt20.ocx(可从 Internet 免费下载)。在 32 位系统中,您必须将它放在 C:/System32 中,然后通过在 cosole(以管理员身份)中键入“regsvr32 mschrt20.ocx”来安装它。
然后创建一个Matlab图形并把一个ActiveX对象放到它上面,保存。要激活它,请向 Matlab 的解释器输入如下内容:
anyone = actxcontrol('MSChart20Lib.MSChart.2');
anyone.get;
get(anyone,'ChartData')
现在您可以看到对象的所有属性。在指南中选择正确的属性“charType”,并在需要时将字段“Legend”设置为“Visible”。
要使用 ActiveX 对象绘制饼图,您需要设置其字段“ChartData”的含义。这是一个单元格 2xn。在下面的示例中使用它:
S = cell(2, 3);
S(1,: ) = {'first', 'second', 'third'} ; %legend
S(2,: ) = {1, 10, 5} ; %meanings
set(handles.activex1,'ChartData', S);
这就是它的工作原理。 ActiveX 控件还有一些其他功能。
关于matlab - 使用 Excel 通过在 Matlab 中编写的脚本绘制圆形图。使用 COM\VBA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10395109/