matlab 画图技巧
-
基本画图工具:matlab 画图中线型及颜色设置
**Matlab中的坐标轴设置技巧**
axisoff; %去掉坐标轴
axistight; %紧坐标轴
axisequal; %等比坐标轴
axis([-0.1, 8.1, -1.1, 1.1]); % 坐标轴的显示范围
x = -pi/2:0.01:pi;
plot(x,sin(x)) % 先绘制个基本图形
% gca: gca, h=figure(...);
set(gca, 'XLim',[-pi/2pi]); % X轴的数据显示范围
set(gca,'XTick',[-pi/2:pi/4:pi]); % X轴的记号点
set(gca,'XTickLabel',{'-pi/2' '-pi/4:' '0' 'pi/4' 'pi/2' 'pi*3/4''pi'}) % X轴的记号
set(gca,'XGrid','on'); % X轴的网格
set(gca,'XDir','reverse'); % 逆转X轴
set(gca,'XColor','red'); % X轴的颜色
set(gac,'Xscale','log') % x轴以log 形式显示 xlim(min,max)
matlab画图设置图片大小以及线宽和字号命令,该文章讲述了matlab画图设置图片大小以及线宽和字号命令.
set(gcf,'Units','centimeters','Position',[1010 7 5]); %设置图片大小为7cm×5cm
%get hanlde to current axis返回当前图形的当前坐标轴的句柄,
%(the first element is the relative distance of the axes to the left edge ofthe figure,...
%the second the vertical distance from the bottom, and then the width andheight;
set(gca,'Position',[.13 .17 .80 .74]); %设置xy轴在图片中占的比例
set(get(gca,'XLabel'),'FontSize',8); %图上文字为8 point或小5号
set(get(gca,'YLabel'),'FontSize',8);
set(get(gca,'TITLE'),'FontSize',8);
set(gca,'fontsize',8);
set(gca,'linewidth',0.5); %坐标线粗0.5磅
set(gca,'box','off');%Controls the box around the plotting area
set(get(gca,'Children'),'linewidth',1.5);%设置图中线宽1.5磅
-
设计图
-
代码
%% 普通的实现
%clear all;
% x=[8,16,32,64,128,256,512,1024,4096];
% y=[0.525,0.725,0.855,0.93,0.938,0.92,0.91,0.90,0.88];
% plot(x,y);
% xlabel('the number of reduced dimension')
% ylabel('mean average precision')
% axis([0 4100 0.5 1])
% %set(gca,'xticklabel',{'8','16','32','64','128','256','512','1024','4096'})
%% 技巧改进
clear all;
close all
x1={'8','16','32','64','128','256','512','1024','2048','4096'};
x=1:10;
y=[0.525,0.725,0.855,0.93,0.938,0.92,0.91,0.90,0.89,0.88];
figure
set(gcf,'color','w')
plot(x,y,'r.-','linewidth',2);
set(gca,'xticklabel',x1)
xlabel('the number of reduced dimension')
ylabel('mean average precision')
axis([0.5 10.5 0.5 1]) %左右留点余地
%设置网格线的线型,使用gridlinestyle属性,默认为虚线,可以改为实线
%axes('GridLineStyle', '-')
grid on
set(gca, 'GridLineStyle' ,'-')
set(gca,'xtick',[1,2,3,4,5,6,7,8,10]);
%set(gca,'XGrid','on');
%set(gca,'XTickMode','manual','XTick',[1,4,8,128,512,4096])
hold on
plot(x,y,'b.','markersize',20);
debug=1;
%saveas(gcf, 'E:\myfigure', 'eps') %保存为矢量图
%% 设计思路
% figure;
% clc;
% clear all;
% x = [1,5,13,30,48,77,100,142];
% ind=1:length(x);
% y1 =[1.3,2.1,3.6,4.7,7.8,8.0,8.3,8.1];
% y2 =[0.9,1.8,5.6,6.4,8.5,9.8,9.3,9.9];
%
% plot(ind,y1,'s-',ind,y2,'s-');
% set(gca,'XTick',ind);
% set(gca,'XTickLabel',{'1','5','13','30','48','77','','142'});
%)坐标轴的标尺属性:'Xtick','Ytick','Ztick'
%------ 标度的位置,值为向量'Xticklabel','Yticklabel','Zticklabel'
%------ 轴上标度的符号,它的值为与标度位置向量同样大
%用'xtick'属性设置x轴 刻度的位置
%用'xticklabel'来指定刻度的值,
- 结果
- 还有几个细节没有解决
C/C++基本语法学习
STL
C++ primer