主要内容

图表类显示变量大小花砖的阴谋

这个例子显示了如何定义一个类来创建一个瓷砖的情节可以是任何大小,取决于用户的数据的大小。图表已经公开数据财产,它接受一个m×n矩阵。图表展示的是一个n×n平方瓷砖的散点图和直方图。散点图显示不同的列的数据绘制。直方图显示值的分布在每一列的数据。

更新方法在课堂上再现了柱状图和散点图来反映数据的变化。如果布局冲突的网格大小的数据的大小,然后删除所有轴GridSize属性更新以匹配的数据的大小。然后创建一个新组坐标轴对象。

定义类,将下面的代码复制到编辑器并保存它的名字TrellisChart.m在一个可写的文件夹。

classdefTrellisChart < matlab.graphics.chartcontainer.ChartContainer属性数据(::){mustBeNumeric}ColNames(:1)字符串TitleText(:1)字符串结束方法(访问=保护)函数设置(obj)%使用一个工具栏的所有轴axtoolbar (getLayout (obj),“默认”);结束函数更新(obj)%得到商店布局和tcltcl = getLayout (obj);numvars =大小(obj.Data, 2);%如果需要重新配置布局如果numvars ~ = tcl.GridSize (1)%删除布局的内容改变网格大小删除(tcl.Children);如果tcl numvars > 0。GridSize= [numvars numvars];i = 1: numvars ^ 2 nexttile (tcl,我);结束结束结束%与轴填充布局ax = gobject (numvars numvars);坳= 1:numvars行= 1:numvars%的轴在当前行/列t =坳+(第1行)* numvars;斧子(行,坳)= nexttile (tcl, t);如果坳= =行%对角线上,画出直方图直方图(ax(行,上校),obj.Data(:,上校));坳ylabel (ax(行),“数”)其他的%的对角线,画散射散射(ax(行,上校),obj.Data(:,上校),obj.Data(:,行),“填充”,“MarkerFaceAlpha”,0.6)如果长度(obj.ColNames) > =行ylabel (ax(行,上校),obj.ColNames(行));结束结束如果长度(obj.ColNames) > =坳包含(ax(行,上校),obj.ColNames (col));结束结束%连接轴的每一列,所以平移或缩放%影响列中的所有轴。linkaxes (ax(:,上校),“x”)结束%图表标题标题(tcl、obj.TitleText“字形大小”16);结束结束结束

在保存的类文件,创建一个表的实例。

负载病人chartTitle =“身高、体重、和舒张压”;c = TrellisChart (“数据”(身高体重舒张压),“colNames”,(“高度”“重量”“舒张期”),“TitleText”,chartTitle);

另请参阅

功能

属性

相关的话题