向活动脚本添加交互式控件
您可以向活动脚本添加滑块、旋转器、下拉列表、复选框、编辑字段和按钮,以交互方式控制变量值。当您希望与他人共享脚本时,向脚本添加交互式控件非常有用。使用交互式控件使用熟悉的用户界面组件设置和更改活动脚本中的变量值。
插入控件
要将控件插入活动脚本,请转到住编辑器Tab,在代码部分中,点击控制.然后,从可用选项中进行选择。若要用控件替换现有值,请在活动脚本中选择该值,然后插入该控件。的控制菜单仅显示所选值的可用选项。若要配置该控件,请在活动脚本中右键单击该控件,然后选择配置控制.
此表显示了控件的完整列表。
控制 | 描述 | 配置细节 |
---|---|---|
数字滑块 |
使用数字滑块,通过将滑块拇指移动到所需的数值,可以交互式地更改变量的值。 滑块左边的值是它的当前值。 |
在值部分,指定最小值,马克斯,一步从下拉列表中设置或选择工作空间变量。 有关使用变量指定滑块值的详细信息,请参见将变量链接到控件. |
数字转轮 |
通过单击变量值右侧的向上和向下箭头按钮,可以使用数字微调器交互式地增加或减少变量的值。还可以在数值编辑字段中为微调器输入数值。 数值编辑字段中的值是微调器的当前值。 |
在值部分,指定最小值,马克斯,一步从下拉列表中设置或选择工作空间变量。 有关使用变量指定微调器值的详细信息,请参见将变量链接到控件. |
下拉列表 |
使用下拉列表可以从项列表中进行选择,以交互方式更改变量的值。 将鼠标悬停在下拉列表中显示的任何项上以查看其值。 |
在项目>项目标签字段时,指定要为下拉列表中的每个项显示的文本。 在项目>项的值字段,在下拉列表中指定每个项的值。请确保将文本值括在单引号或双引号中,因为实时编辑器将列表中的每个项解释为代码。 还可以使用存储在变量中的值填充下拉列表中的项。有关更多信息,请参见将变量链接到控件. |
复选框 |
使用复选框可以交互式地将变量的值设置为逻辑值 复选框的显示状态(已选中或未选中)决定其当前值。 |
不适用 |
编辑字段 |
使用编辑字段可以交互式地将变量的值设置为任何类型的输入。 编辑字段中显示的文本和配置的数据类型决定其当前值。 |
在类型部分,在数据类型字段时,从可用选项中选择,以在编辑字段中指定文本的数据类型。 |
按钮 |
使用按钮控件在单击按钮时以交互方式运行代码。 |
若要更改按钮上显示的文本,请在标签节中,输入标签文本。 |
修改控件标签
您可以将代码隐藏在活动脚本中,只显示格式化的文本、带标签的控件、活动编辑器任务和输出。在共享和导出活动脚本时,隐藏代码非常有用。要隐藏代码,请单击“隐藏代码”按钮在现场脚本的右边。你也可以去视图Tab,在视图部分中,点击隐藏代码.要再次显示代码,请单击Output inline按钮或在右边的输出按钮.
隐藏代码时,标签将显示在控件旁边。若要修改控件的标签,请右键单击该控件并选择配置控制.然后,在标签节中,输入标签文本。标签文本也是显示在所有视图中的按钮控件上的文本。新闻选项卡或输入,或单击控件配置菜单外的按钮返回活动脚本。
将变量链接到控件
可以将变量链接到滑块值、微调器值和下拉项,以创建动态控件。
若要使用变量指定滑块或旋转器的最小值、最大值和步长值,请右键单击控件并选择配置控制.然后,在值的工作区变量最小值,马克斯,一步.只有数值变量才会出现在下拉列表中。如果没有列出您想要选择的变量,请首先尝试运行活动脚本以在工作空间中创建变量。对变量的更改会自动反映在数值滑块或旋转器中。
若要使用存储在变量中的值填充下拉列表中的项,请右键单击控件并选择配置控制.然后,在项目控件中选择工作区变量变量列表。变量必须是字符串数组或字符串标量才能出现在列表中。如果没有列出您想要选择的变量,请首先尝试运行活动脚本以在工作空间中创建变量。对变量的更改将自动反映在下拉列表中。
例如,创建一个活动脚本并定义变量姓
包含一个姓氏列表。
lastname =[“休斯敦”、“织女”、“Obrien”、“波特”、“Rivera”,“汉森”、“福勒”、“Tran”,“布里格斯”);
运行要创建的活动脚本姓
在工作空间中。然后,去住编辑器Tab,在代码部分中,选择控制>下拉.在项目部分的控件配置菜单,选择姓
随着变量.
关闭配置菜单以返回活动脚本。下拉列表现在包含中定义的姓氏姓
.
中添加、删除或编辑的值姓
, MATLAB®相应更新下拉列表中的项。
请注意
如果下拉列表中的项链接到一个变量,并且在运行活动脚本时删除了变量中的一个或多个值,那么如果所删除的值之一是所选的列表项,则会发生错误。为了尽量减少发生这种错误的可能性,请避免在运行活动脚本时从链接变量中删除值。
指定默认值
您可以为活动脚本中的滑块、旋转窗口、下拉列表、复选框和编辑字段设置默认值。
若要为控件设置默认值,请右键单击控件并选择配置控制.然后,在违约节中,通过输入值或从列表中选择工作区变量指定默认值。该列表仅显示控件的有效变量。对于下拉列表,请从项列表中选择默认值。
若要恢复控件的默认值,请右键单击控件并选择恢复默认值.
提示
若要将控件的值链接到工作区变量,请将该控件的默认值设置为该变量。控制值被设置为默认值,并随着变量值的变化而变化。控制值一直链接到变量值,直到手动更改控制值,例如,通过移动数值滑块的滑块拇指。
修改控制执行
当控件的值发生变化时,可以修改代码的运行时间和内容。默认情况下,当控件的值更改时,Live Editor将运行当前部分中的代码。要配置此行为,右键单击控件并选择配置控制.然后,在执行节中,修改表中描述的字段的值。新闻选项卡或输入,或单击控件配置菜单外的按钮返回活动脚本。
场 | 选项 |
---|---|
运行在(仅限数值滑块和数值旋转器) | 选择以下选项之一来指定代码何时运行:
|
运行 | 选择以下选项之一以指定当控件的值更改时运行哪些代码:
提示 在活动脚本中使用按钮控件时,请考虑设置运行字段用于活动脚本中的所有其他控件 |
用多个交互控件创建实时脚本
这个例子展示了如何使用交互式控件在MATLAB中可视化和调查患者数据。使用各种交互控件,您可以过滤患者列表,然后绘制过滤列表的年龄和收缩压,突出显示超过指定血压的患者。
这个例子使用变量来控制滑块和旋转器的值,以及下拉列表项。例如,要按位置筛选患者列表,请插入下拉列表并选择locationStrings
变量填充列表中的项。要按年龄筛选患者列表,请插入数字滑块并选择minAge
而且maxAge
变量如最小值而且马克斯值。若要指定收缩压阈值,请插入数字微调器并选择minPressure
而且maxPressure
变量如最小值而且马克斯值。
时才过滤数据过滤数据按钮按下,设置运行下拉列表、复选框、数字滑块和编辑字段的执行选项没有什么
.
若要查看控件并与之交互,请在浏览器或MATLAB中打开此示例。
获取和过滤样本患者数据
根据患者数据创建一个表。使用下拉列表、复选框、数字滑块和编辑字段指定患者过滤信息,如位置、吸烟状态、年龄和患者姓氏中的字母。使用过滤数据按钮筛选数据。
T =可读的(“patients.xls”);locationStrings = [“VA医院”,“县总医院”,圣玛丽医疗中心];selectedLocation =locationStrings (1);isSmoker =假;maxAge = max(T.Age);minAge = min(T.Age);minimumAge =31;nameContains =“e”;idx = T.Location==selectedLocation & t . smokers == issmokers & T.Age>=minimumAge;如果~ strcmp (nameContains,"") idx = idx & contains(T.LastName, nameconcontains);结束TFiltered = T(idx,:);
Plot过滤后的患者数据
绘制经过过滤的患者数据的年龄和收缩压,突出显示超过指定血压的患者。使用数值微调器指定阈值血压值。
minPressure = min(tfiltering . systolic);maxPressure = max(tfilter . systolic);thresholdPressure =123;TOverThreshold = TFiltered(TFiltered. systolic >=thresholdPressure,:);sp1 = scatter(TFiltered.Age,TFiltered.Systolic);持有在sp2 = scatter(TOverThreshold.Age, toverthreshold .收缩期,“红色”);持有从标题(“患者年龄与收缩压的关系”)包含(“年龄”) ylabel (“收缩压”)示例:收缩压超过%d mmHg的患者, thresholdPressure);传奇(sp2, legendText,位置=“southoutside”)
共享实时脚本
当实时脚本完成后,与他人共享它。用户可以在MATLAB中打开实时脚本,并通过交互使用控件对其进行实验。
如果您将活动脚本本身作为交互式文档共享,请考虑在共享活动脚本之前将代码隐藏在活动脚本中。隐藏代码时,实时编辑器仅显示格式化文本、标记控件、实时编辑器任务和输出。要隐藏代码,请单击“隐藏代码”按钮在现场脚本的右边。你也可以去视图Tab,在视图部分中,点击隐藏代码.
如果您以静态PDF格式共享活动脚本,微软®词、HTML或LaTeX文档时,实时编辑器将控件保存为代码。例如,如果用多个交互控件创建实时脚本示例活动脚本导出为HTML(使用出口的选项住编辑器选项卡),则该下拉列表控件将被其当前值(locationStrings (1)
),则复选框控件将被其当前值(假
),数值滑块控件将被其当前值(31
),并将文本框控件替换为其当前值(“e”
).该按钮根本不显示。