|
x
- %% 直方图图的绘制
- %直方图有两种图型:垂直直方图和水平直方图。而每种图型又有两种表现模式:累计式:分组式。
- figure;
- z=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额
- colormap(cool);% 控制图的用色
- subplot(2,3,1);
- bar(z);%二维分组式直方图,默认的为'group'
- title('2D default');
- subplot(2,3,2);
- bar3(z);%三维的分组式直方图
- title('3D default');
- subplot(2,3,3);
- barh(z,1);%分组式水平直方图,宽度设置为1
- title('vert width=1');
- subplot(2,3,4);
- bar(z,'stack');%累计式直方图,例如:1,1+2,1+2+3构成了第一个bar
- title('stack')
- subplot(2,3,5);
- bar3h(z,0.5,'stacked');%三维累计式水平直方图
- title('vert width=1 stack');
- subplot(2,3,6);
- bar3(z,0.8,'grouped');%对相关数据的颜色进行分组,默认的位'group'
- title('width=0.8 grouped');
复制代码
- %% 直方图图的绘制
- %直方图有两种图型:垂直直方图和水平直方图。而每种图型又有两种表现模式:累计式:分组式。
- figure;
- z=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额
- colormap(cool);% 控制图的用色
- subplot(2,3,1);
- bar(z);%二维分组式直方图,默认的为'group'
- title('2D default');
- subplot(2,3,2);
- bar3(z);%三维的分组式直方图
- title('3D default');
- subplot(2,3,3);
- barh(z,1);%分组式水平直方图,宽度设置为1
- title('vert width=1');
- subplot(2,3,4);
- bar(z,'stack');%累计式直方图,例如:1,1+2,1+2+3构成了第一个bar
- title('stack')
- subplot(2,3,5);
- bar3h(z,0.5,'stacked');%三维累计式水平直方图
- title('vert width=1 stack');
- subplot(2,3,6);
- bar3(z,0.8,'grouped');%对相关数据的颜色进行分组,默认的位'group'
- title('width=0.8 grouped');
复制代码
- %% =========柱状图的进阶==========
- figure;
- y=[300 311;390 425; 312 321; 250 185; 550 535; 420 432; 410 520;];
- subplot(1,3,1);
- b=bar(y);
- grid on;
- set(gca,'XTickLabel',{'0','1','2','3','4','5','6'})
- legend('算法1','算法2');
- xlabel('x axis');
- ylabel('y axis');
- %使仅有的一组柱状图呈现不同颜色,默认的位相同颜色
- data = [1.0, 1.0, 0.565, 0.508, 0.481, 0.745];
- subplot(1,3,2);
- b = bar(data);
- ch = get(b,'children');
- set(ch,'FaceVertexCData',[4;2;3;1;5;6]);%使用Indexed形式指定每组bar的颜色
- set(gca,'XTickLabel',{'C0','C1','C2','C3','C4','C5'})
- axis([0 7 0.0 1.0]);
- ylabel('micro F-measure');
- %使每个bar颜色不同,默认的是每个元素在不同组的颜色相同
- data = [3, 7, 5, 2;4, 3, 2, 9;6, 6, 1, 4];
- subplot(1,3,3);
- b = bar(data);
- ch = get(b,'children');
- set(ch{1},'FaceVertexCData',[1;2;3]);%设置第一个元素在不同组的颜色
- set(ch{2},'FaceVertexCData',[1;2;3]);%设置第二个元素在不同组的颜色
- set(ch{3},'FaceVertexCData',[1;2;3]);
- set(ch{4},'FaceVertexCData',[1;2;3]);
复制代码
- %% 彩色柱状图
- %用到的数据
- n = 8;
- Z = rand(n,1);
- figure;
- %默认图片
- subplot(1,3,1);
- bar(Z);
- %简单的作图
- % 这个图根据数据列中值的大小着色。每列中的值越大,颜色越突出
- subplot(1,3,2);
- h=bar(Z);
- colormap(summer(n));
- ch = get(h,'Children');
- fvd = get(ch,'Faces');%针对矩阵时,只能用fvd=get(ch{col},'Faces'),下同
- fvcd = get(ch,'FaceVertexCData');
- [~, izs] = sortrows(Z,1);
- for i = 1:n row = izs(i); fvcd(fvd(row,:)) = i;
- end
- set(ch,'FaceVertexCData',fvcd)
- %图片会以渐变的方式着色,效果非常不错
- subplot(1,3,3);
- h=bar(Z);
- ch = get(h,'Children');
- fvd = get(ch,'Faces');
- fvcd = get(ch,'FaceVertexCData');
- [zs, izs] = sortrows(Z,1);
- k = 128; % 准备生成128 *3 行的colormap
- colormap(summer(k)); % 这样会产生一个128 * 3的矩阵,分别代表[R G B]的值
- % 检视数据
- whos ch fvd fvcd zs izs
- % Name Size Bytes Class Attributes
- %
- % ch 1x1 8 double
- % fvcd 66x1 528 double
- % fvd 13x4 416 double
- % izs 13x1 104 double
- % zs 13x1 104 double
- %
- shading interp % Needed to graduate colors
- for i = 1:n color = floor(k*i/n); % 这里用取整函数获得color在colormap中行 row = izs(i); % Look up actual row # in data fvcd(fvd(row,1)) = 1; % Color base vertices 1st index fvcd(fvd(row,4)) = 1; fvcd(fvd(row,2)) = color; % Assign top vertices color fvcd(fvd(row,3)) = color;
- end
- set(ch,'FaceVertexCData', fvcd); % Apply the vertex coloring
- set(ch,'EdgeColor','k');
复制代码
- %% 绘制统计直方图
- %hist(y):如果y是向量,则把其中元素放入10个条目中,且返回每条中的元素的个数;如果y为矩阵,则分别对每列进行处理,显示多组条形。
- %[n,xout]=hist(y,x):非递减向量x的指定bin的中心。向量xout包含频率计数与条目的位置。
- x=-10:.1:10;
- y1=randn(2008,1);
- y2=randn(2008,3);
- figure;
- colormap(winter);
- subplot(2,2,1);
- hist(y1);%把其中元素放入10个条目中
- title('y1为向量,default,n=10');
- subplot(2,2,2);
- hist(y2);%分别对每列进行处理,显示多组条形
- title('y2为矩阵');
- subplot(2,2,3);
- hist(y1,x);%用户也可以使用[n,xout]=hist(y1,x);bar(xout,n)绘制条形直方图
- title('向量x指定条目');
- subplot(2,2,4);
- hist(y2,1000);%第二个参数为标量时指定bin的数目
- title('nbins=1000');
复制代码
- %% ========均值方差直方图========
- a=[8 9 10 7 8 9];%mean
- b=[1 1 1 1 1 1];%std
- figure();
- h=bar(a);
- ch=get(h,'children');
- set(ch,'FaceVertexCData',[4;2;3;1;5;6]);%使用Indexed形式指定每组bar的颜色
- hold on;
- errorbar(a,b,'k','LineStyle','none');
复制代码
- %% =======散点图scatter , scatter3 , plotmatrix======
- %scatter3(X,Y,Z,S,C):在由向量X、Y和Z指定的位置显示大小和颜色分别由S和C决定的离散点
- figure;
- [x,y,z] = sphere(16);
- X = [x(:)*.5 x(:)*.75 x(:)];
- Y = [y(:)*.5 y(:)*.75 y(:)];
- Z = [z(:)*.5 z(:)*.75 z(:)];
- S = repmat([10 2 5]*10,numel(x),1);
- C = repmat([1 2 3],numel(x),1);
- subplot(1,2,1);
- scatter(X(:),Y(:),S(:),C(:));
- title('scatter');
- subplot(1,2,2);
- scatter3(X(:),Y(:),Z(:),S(:),C(:),'filled'), view(-60,60);
- title('scatter3');
- %plotmatrix(X,Y)绘出X(p*M)与Y(p*N)的列组成的散度图(N,M)
- figure;
- X=randn(100,2);Y=randn(100,2);
- subplot(1,3,1),plotmatrix(X);%等价于plotmatrix(X,X),除了对角上的图为X每一列的直方图hist(X(:,col))
- title('plotmatrix(X)');
- subplot(1,3,2),plotmatrix(X,X);
- title('plotmatrix(X,X)');
- subplot(1,3,3),plotmatrix(X,Y);
- title('plotmatrix(X,Y)');
复制代码
- %% =========绘制区域图===========
- %区域图特点是:在图上绘制多条曲线时,每条曲线(除第一条外)都是把“前”条曲线作基线,再取值绘制而成。因此,该指令所画的图形,能醒目地反映各因素对最终结果的贡献份额。
- figure;
- x=1:2:9;% 注意:自变量要单调变化
- y=magic(5);% 各因素的相对贡献份额,每一列相当于一个因素
- colormap(spring);% 控制图的用色
- area(x,y,4);%area(y)则以列下标作为自变量,第三个参数为基准线(默认为0)
- set(gca,'layer','top');%图层设置为top层,显示网格
- title('basevalue=4');
- legend(' 因素 A',' 因素 B',' 因素 C','因素D','因素E');
- grid on;
复制代码
- %% =========绘制饼状图=========
- %饼图指令pie和pie3用来表示各元素占总和的百分数。该指令第二个参数为与第一参数等长的 0-1
- %向量,1使对应扇块突出。第三个参数指定个扇区的label
- figure;
- colormap(summer);% 控制图的用色
- x=[16 17 21 25 21];
- subplot(1,2,1);
- pie(x,[0 0 0 0 1],{'0-10岁儿童','10-20岁儿童','20-35岁青年','35-55岁中年','55岁以上老年'});
- subplot(1,2,2);
- pie3(x,[0 0 0 0 1],{'0-10岁儿童','10-20岁儿童','20-35岁青年','35-55岁中年','55岁以上老年'});
复制代码
- %% 直方图图的绘制
- %直方图有两种图型:垂直直方图和水平直方图。而每种图型又有两种表现模式:累计式:分组式。
- figure;
- z=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额
- colormap(cool);% 控制图的用色
- subplot(2,3,1);
- bar(z);%二维分组式直方图,默认的为'group'
- title('2D default');
- subplot(2,3,2);
- bar3(z);%三维的分组式直方图
- title('3D default');
- subplot(2,3,3);
- barh(z,1);%分组式水平直方图,宽度设置为1
- title('vert width=1');
- subplot(2,3,4);
- bar(z,'stack');%累计式直方图,例如:1,1+2,1+2+3构成了第一个bar
- title('stack')
- subplot(2,3,5);
- bar3h(z,0.5,'stacked');%三维累计式水平直方图
- title('vert width=1 stack');
- subplot(2,3,6);
- bar3(z,0.8,'grouped');%对相关数据的颜色进行分组,默认的位'group'
- title('width=0.8 grouped');0
复制代码
- %% 直方图图的绘制
- %直方图有两种图型:垂直直方图和水平直方图。而每种图型又有两种表现模式:累计式:分组式。
- figure;
- z=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额
- colormap(cool);% 控制图的用色
- subplot(2,3,1);
- bar(z);%二维分组式直方图,默认的为'group'
- title('2D default');
- subplot(2,3,2);
- bar3(z);%三维的分组式直方图
- title('3D default');
- subplot(2,3,3);
- barh(z,1);%分组式水平直方图,宽度设置为1
- title('vert width=1');
- subplot(2,3,4);
- bar(z,'stack');%累计式直方图,例如:1,1+2,1+2+3构成了第一个bar
- title('stack')
- subplot(2,3,5);
- bar3h(z,0.5,'stacked');%三维累计式水平直方图
- title('vert width=1 stack');
- subplot(2,3,6);
- bar3(z,0.8,'grouped');%对相关数据的颜色进行分组,默认的位'group'
- title('width=0.8 grouped');1
复制代码
- %% 直方图图的绘制
- %直方图有两种图型:垂直直方图和水平直方图。而每种图型又有两种表现模式:累计式:分组式。
- figure;
- z=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额
- colormap(cool);% 控制图的用色
- subplot(2,3,1);
- bar(z);%二维分组式直方图,默认的为'group'
- title('2D default');
- subplot(2,3,2);
- bar3(z);%三维的分组式直方图
- title('3D default');
- subplot(2,3,3);
- barh(z,1);%分组式水平直方图,宽度设置为1
- title('vert width=1');
- subplot(2,3,4);
- bar(z,'stack');%累计式直方图,例如:1,1+2,1+2+3构成了第一个bar
- title('stack')
- subplot(2,3,5);
- bar3h(z,0.5,'stacked');%三维累计式水平直方图
- title('vert width=1 stack');
- subplot(2,3,6);
- bar3(z,0.8,'grouped');%对相关数据的颜色进行分组,默认的位'group'
- title('width=0.8 grouped');2
复制代码
- %% 直方图图的绘制
- %直方图有两种图型:垂直直方图和水平直方图。而每种图型又有两种表现模式:累计式:分组式。
- figure;
- z=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额
- colormap(cool);% 控制图的用色
- subplot(2,3,1);
- bar(z);%二维分组式直方图,默认的为'group'
- title('2D default');
- subplot(2,3,2);
- bar3(z);%三维的分组式直方图
- title('3D default');
- subplot(2,3,3);
- barh(z,1);%分组式水平直方图,宽度设置为1
- title('vert width=1');
- subplot(2,3,4);
- bar(z,'stack');%累计式直方图,例如:1,1+2,1+2+3构成了第一个bar
- title('stack')
- subplot(2,3,5);
- bar3h(z,0.5,'stacked');%三维累计式水平直方图
- title('vert width=1 stack');
- subplot(2,3,6);
- bar3(z,0.8,'grouped');%对相关数据的颜色进行分组,默认的位'group'
- title('width=0.8 grouped');3
复制代码
- %% 直方图图的绘制
- %直方图有两种图型:垂直直方图和水平直方图。而每种图型又有两种表现模式:累计式:分组式。
- figure;
- z=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额
- colormap(cool);% 控制图的用色
- subplot(2,3,1);
- bar(z);%二维分组式直方图,默认的为'group'
- title('2D default');
- subplot(2,3,2);
- bar3(z);%三维的分组式直方图
- title('3D default');
- subplot(2,3,3);
- barh(z,1);%分组式水平直方图,宽度设置为1
- title('vert width=1');
- subplot(2,3,4);
- bar(z,'stack');%累计式直方图,例如:1,1+2,1+2+3构成了第一个bar
- title('stack')
- subplot(2,3,5);
- bar3h(z,0.5,'stacked');%三维累计式水平直方图
- title('vert width=1 stack');
- subplot(2,3,6);
- bar3(z,0.8,'grouped');%对相关数据的颜色进行分组,默认的位'group'
- title('width=0.8 grouped');4
复制代码
- %% 直方图图的绘制
- %直方图有两种图型:垂直直方图和水平直方图。而每种图型又有两种表现模式:累计式:分组式。
- figure;
- z=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额
- colormap(cool);% 控制图的用色
- subplot(2,3,1);
- bar(z);%二维分组式直方图,默认的为'group'
- title('2D default');
- subplot(2,3,2);
- bar3(z);%三维的分组式直方图
- title('3D default');
- subplot(2,3,3);
- barh(z,1);%分组式水平直方图,宽度设置为1
- title('vert width=1');
- subplot(2,3,4);
- bar(z,'stack');%累计式直方图,例如:1,1+2,1+2+3构成了第一个bar
- title('stack')
- subplot(2,3,5);
- bar3h(z,0.5,'stacked');%三维累计式水平直方图
- title('vert width=1 stack');
- subplot(2,3,6);
- bar3(z,0.8,'grouped');%对相关数据的颜色进行分组,默认的位'group'
- title('width=0.8 grouped');5
复制代码
- %% 直方图图的绘制
- %直方图有两种图型:垂直直方图和水平直方图。而每种图型又有两种表现模式:累计式:分组式。
- figure;
- z=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额
- colormap(cool);% 控制图的用色
- subplot(2,3,1);
- bar(z);%二维分组式直方图,默认的为'group'
- title('2D default');
- subplot(2,3,2);
- bar3(z);%三维的分组式直方图
- title('3D default');
- subplot(2,3,3);
- barh(z,1);%分组式水平直方图,宽度设置为1
- title('vert width=1');
- subplot(2,3,4);
- bar(z,'stack');%累计式直方图,例如:1,1+2,1+2+3构成了第一个bar
- title('stack')
- subplot(2,3,5);
- bar3h(z,0.5,'stacked');%三维累计式水平直方图
- title('vert width=1 stack');
- subplot(2,3,6);
- bar3(z,0.8,'grouped');%对相关数据的颜色进行分组,默认的位'group'
- title('width=0.8 grouped');6
复制代码
- %% 直方图图的绘制
- %直方图有两种图型:垂直直方图和水平直方图。而每种图型又有两种表现模式:累计式:分组式。
- figure;
- z=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额
- colormap(cool);% 控制图的用色
- subplot(2,3,1);
- bar(z);%二维分组式直方图,默认的为'group'
- title('2D default');
- subplot(2,3,2);
- bar3(z);%三维的分组式直方图
- title('3D default');
- subplot(2,3,3);
- barh(z,1);%分组式水平直方图,宽度设置为1
- title('vert width=1');
- subplot(2,3,4);
- bar(z,'stack');%累计式直方图,例如:1,1+2,1+2+3构成了第一个bar
- title('stack')
- subplot(2,3,5);
- bar3h(z,0.5,'stacked');%三维累计式水平直方图
- title('vert width=1 stack');
- subplot(2,3,6);
- bar3(z,0.8,'grouped');%对相关数据的颜色进行分组,默认的位'group'
- title('width=0.8 grouped');7
复制代码
- %% 直方图图的绘制
- %直方图有两种图型:垂直直方图和水平直方图。而每种图型又有两种表现模式:累计式:分组式。
- figure;
- z=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额
- colormap(cool);% 控制图的用色
- subplot(2,3,1);
- bar(z);%二维分组式直方图,默认的为'group'
- title('2D default');
- subplot(2,3,2);
- bar3(z);%三维的分组式直方图
- title('3D default');
- subplot(2,3,3);
- barh(z,1);%分组式水平直方图,宽度设置为1
- title('vert width=1');
- subplot(2,3,4);
- bar(z,'stack');%累计式直方图,例如:1,1+2,1+2+3构成了第一个bar
- title('stack')
- subplot(2,3,5);
- bar3h(z,0.5,'stacked');%三维累计式水平直方图
- title('vert width=1 stack');
- subplot(2,3,6);
- bar3(z,0.8,'grouped');%对相关数据的颜色进行分组,默认的位'group'
- title('width=0.8 grouped');8
复制代码
- %% 直方图图的绘制
- %直方图有两种图型:垂直直方图和水平直方图。而每种图型又有两种表现模式:累计式:分组式。
- figure;
- z=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额
- colormap(cool);% 控制图的用色
- subplot(2,3,1);
- bar(z);%二维分组式直方图,默认的为'group'
- title('2D default');
- subplot(2,3,2);
- bar3(z);%三维的分组式直方图
- title('3D default');
- subplot(2,3,3);
- barh(z,1);%分组式水平直方图,宽度设置为1
- title('vert width=1');
- subplot(2,3,4);
- bar(z,'stack');%累计式直方图,例如:1,1+2,1+2+3构成了第一个bar
- title('stack')
- subplot(2,3,5);
- bar3h(z,0.5,'stacked');%三维累计式水平直方图
- title('vert width=1 stack');
- subplot(2,3,6);
- bar3(z,0.8,'grouped');%对相关数据的颜色进行分组,默认的位'group'
- title('width=0.8 grouped');9
复制代码
|
|