matlab调整legend大小,[转载]【matlab】MATLAB中调整legend的大小位置
1、MATLAB如何从硬盘读取文件。
2、如何微调subplot子图的位置。
3、plot命令绘曲线时,曲线上的标志如何调整大小。
4、坐标轴的调整。
6、坐标标题中如何标上标。
7、如何调整图示(legend)的位置。
%----------------------------------
%
这里要画一个2*2共4幅子图。先将第1个子图的位置调整。
h = subplot( 2, 2,
1); % 先让MATLAB默
认绘制第1幅子图,h是子图1的句柄
po = get( h, 'Position'
); % get命令从句柄h中获取'Position'的内容,返回一个含4个元素的一维数组放到po中。这4个元
素分别是子图1的left, bottom, width, height。
subplot( 'Position', [po(1)+0.03, po(2)-0.03, po(3),
po(4)]); 子图1的新位置可以这样调整
%----------------------------------
hold on;
axis([0 13 -3 2]);
set( gca, 'XTick', [1:12]
); gca表示当前对象句柄,set命令分别对当前对象(即子图1)设置坐标轴XTick和YTick属性。这
两个属性分别表示了坐标轴的实际绘值范围。
set( gca, 'YTick', [-3:1:2] );
title( 'The North Hemisphere' );
plot( 1:12, bc, '-r.', 'MarkerSize', 10
); 子图1中第1条曲线用实线绘,带有圆点,红色。MarkerSize属性设
置圆点的大小是10。这样画出来的就是实心圆了。
plot( 1:12, nit, '-b.', 'MarkerSize', 10 );
plot( 1:12, sul, '-g.', 'MarkerSize', 10 );
plot( 1:12, poa, '-m.', 'MarkerSize', 10 );
plot( 1:12, soa, '-k.', 'MarkerSize', 10 );
%zeroArr = zeros( 14 );
%plot( 0:13, zeroArr, '--k' )
xlabel( 'Month' );
ylabel( 'Radiative Effect (Wm^-^2)'
); 单位里有上标,^表示后续一个字符为上标。
下述代码绘子图2、3、4,雷同。
%--------------------------------------------------------------------------
% NH Radiative Forcing
Fut-Mod 子图2
fid_bc=fopen('D:_CurrentPaperRadiativeForcingFutMod_NHbc.dat','r');
bc = fscanf( fid_bc, '%f', [1,12]);
fclose( fid_bc );
fid_nit=fopen('D:_CurrentPaperRadiativeForcingFutMod_NHnit.dat','r');
nit = fscanf( fid_nit, '%f', [1,12]);
fclose( fid_nit );
fid_sul=fopen('D:_CurrentPaperRadiativeForcingFutMod_NHsul.dat','r');
sul = fscanf( fid_sul, '%f', [1,12]);
fclose( fid_sul );
fid_poa=fopen('D:_CurrentPaperRadiativeForcingFutMod_NHpoa.dat','r');
poa = fscanf( fid_poa, '%f', [1,12]);
fclose( fid_poa );
fid_soa=fopen('D:_CurrentPaperRadiativeForcingFutMod_NHsoa.dat','r');
soa = fscanf( fid_soa, '%f', [1,12]);
fclose( fid_soa );
%----------------------------------
h = subplot( 2, 2, 3, 'replace' );
po = get( h, 'Position' );
subplot( 2, 2, 3, 'replace' );
subplot( 'Position', [po(1)+0.03, po(2)+0.03, po(3), po(4)]);
%----------------------------------
box on;
hold on;
axis([0 13 -3 2]);
set( gca, 'XTick', [1:12] );
set( gca, 'YTick', [-3:1:2] );
%title( 'NH Fut-Mod' );
plot( 1:12, bc, '-r.', 'MarkerSize', 10 );
plot( 1:12, nit, '-b.', 'MarkerSize', 10 );
plot( 1:12, sul, '-g.', 'MarkerSize', 10 );
plot( 1:12, poa, '-m.', 'MarkerSize', 10 );
plot( 1:12, soa, '-k.', 'MarkerSize', 10 );
%zeroArr = zeros( 14 );
%plot( 0:13, zeroArr, '--k' )
xlabel( 'Month' );
ylabel( 'Radiative Forcing (Wm^-^2)' );
%--------------------------------------------------------------------------
% SH Radiative Effect
Mod-Noall 子图3
fid_bc=fopen('D:_CurrentPaperRadiativeForcingModNoall_SHbc.dat','r');
bc = fscanf( fid_bc, '%f', [1,12]);
fclose( fid_bc );
fid_nit=fopen('D:_CurrentPaperRadiativeForcingModNoall_SHnit.dat','r');
nit = fscanf( fid_nit, '%f', [1,12]);
fclose( fid_nit );
fid_sul=fopen('D:_CurrentPaperRadiativeForcingModNoall_SHsul.dat','r');
sul = fscanf( fid_sul, '%f', [1,12]);
fclose( fid_sul );
fid_poa=fopen('D:_CurrentPaperRadiativeForcingModNoall_SHpoa.dat','r');
poa = fscanf( fid_poa, '%f', [1,12]);
fclose( fid_poa );
fid_soa=fopen('D:_CurrentPaperRadiativeForcingModNoall_SHsoa.dat','r');
soa = fscanf( fid_soa, '%f', [1,12]);
fclose( fid_soa );
%----------------------------------
h = subplot( 2, 2, 2, 'replace' );
po = get( h, 'Position' );
subplot( 2, 2, 2, 'replace' );
subplot( 'Position', [po(1)-0.03, po(2)-0.03, po(3), po(4)]);
%----------------------------------
box on;
hold on;
axis([0 13 -1.2 0.8]);
set( gca, 'XTick', [1:12] );
set( gca, 'YTick', [-1.2:0.4:0.8] );
title( 'The South Hemisphere' );
plot( 1:12, bc, '-r.', 'MarkerSize', 10 );
plot( 1:12, nit, '-b.', 'MarkerSize', 10 );
plot( 1:12, sul, '-g.', 'MarkerSize', 10 );
plot( 1:12, poa, '-m.', 'MarkerSize', 10 );
plot( 1:12, soa, '-k.', 'MarkerSize', 10 );
%zeroArr = zeros( 14 );
%plot( 0:13, zeroArr, '--k' )
xlabel( 'Month' );
%ylabel( 'Radiative Effect (Wm^-^2)' );
%--------------------------------------------------------------------------
% SH Radiative Forcing
Fut-Mod 子图4
fid_bc=fopen('D:_CurrentPaperRadiativeForcingFutMod_SHbc.dat','r');
bc = fscanf( fid_bc, '%f', [1,12]);
fclose( fid_bc );
fid_nit=fopen('D:_CurrentPaperRadiativeForcingFutMod_SHnit.dat','r');
nit = fscanf( fid_nit, '%f', [1,12]);
fclose( fid_nit );
fid_sul=fopen('D:_CurrentPaperRadiativeForcingFutMod_SHsul.dat','r');
sul = fscanf( fid_sul, '%f', [1,12]);
fclose( fid_sul );
fid_poa=fopen('D:_CurrentPaperRadiativeForcingFutMod_SHpoa.dat','r');
poa = fscanf( fid_poa, '%f', [1,12]);
fclose( fid_poa );
fid_soa=fopen('D:_CurrentPaperRadiativeForcingFutMod_SHsoa.dat','r');
soa = fscanf( fid_soa, '%f', [1,12]);
fclose( fid_soa );
%----------------------------------
h = subplot( 2, 2, 4, 'replace' );
po = get( h, 'Position' );
subplot( 2, 2, 4, 'replace' );
subplot( 'Position', [po(1)-0.03, po(2)+0.03, po(3), po(4)]);
%----------------------------------
box on;
hold on;
axis([0 13 -1.2 0.8]);
set( gca, 'XTick', [1:12] );
set( gca, 'YTick', [-1.2:0.4:0.8] );
%title( 'SH Fut-Mod' );
plot( 1:12, bc, '-r.', 'MarkerSize', 10 );
plot( 1:12, nit, '-b.', 'MarkerSize', 10 );
plot( 1:12, sul, '-g.', 'MarkerSize', 10 );
plot( 1:12, poa, '-m.', 'MarkerSize', 10 );
plot( 1:12, soa, '-k.', 'MarkerSize', 10 );
%zeroArr = zeros( 14 );
%plot( 0:13, zeroArr, '--k' )
xlabel( 'Month' );
%ylabel( 'Radiative Forcing (Wm^-^2)' );
我将legend放在了子图4上。
gca=legend( 'BC', 'Nitrate', 'Sulfate', 'POA',
'SOA', 4
); 4表示把legend放在子图的右下角,还有几个数字的含义是:
0
= Automatic "best" placement (least conflict with data)
1
= Upper right-hand corner (default)
2
= Upper left-hand corner
3
= Lower left-hand corner
4
= Lower right-hand corner
-1
= To the right of the plot
po=get( gca, 'Position'
); 发现这样放置后legend要挡住图,因此需要再微调一下。获得legend的'Position'值。
set( gca, 'FontSize', 8, 'Position', [po(1)-0.01, po(2)+0.01,
po(3), po(4)]
); 重新设置legend的位置,同时设置legend里面的字体为8号。
legend('boxoff'); 不画legend的外框。
强调的是上述调整legend的值要不断地试。因为legend相对子图的位置还要随画图窗口大小变
化而变化。如果你看不懂这句,试试就知道了。
我一般是将MATLAB画出的图打印成PDF,再用Acrobat打开截屏,贴到WORD中,这样图
像质量似乎比较好。谁还有更好的将MATLAB图转贴到WORD的方法,欢迎赐教。
matlab调整legend大小,[转载]【matlab】MATLAB中调整legend的大小位置相关推荐
- html怎么设置一个表格的宽度一样吗,html表格单元格大小 怎样在html中设置所有表格大小一样...
在html中怎样控制表格的宽度 表格的宽度设置都知道: .. 宽度虽然是这样设置的,但是的内容如果超出就还是可能会改变table的宽度, 这样就有两种情况,如果你不想改变宽且也不想改变行高,可是设置: ...
- php 降低图像大小,尝试在php中调整图像大小时如何处理此内存泄漏?
我尝试在一个目录中调整所有图像的大小.我的代码工作,直到我尝试调整70张图片的目录.我已经使用了imagedestroy和unset.但我仍然失败了"致命错误:允许内存大小67108864字 ...
- linux查服务器总内存大小,怎么查看linux中的可用内存大小
怎么查看linux中的可用内存大小 发布时间:2020-06-16 13:28:33 来源:亿速云 阅读:620 作者:鸽子 作为Linux用户,特别是管理员,我们需要检查系统使用多少内存资源以及有多 ...
- matlab如何弄上标,[转载]在Matlab中怎样输入特殊符号或者上标、下标
Matlab的text/title/xlabel/ylabel对象支持简单的TeX排版语法,如希腊字母,上下标等例如text(0.5,0.5,'alpha^beta_2'); Matlab图形中允许用 ...
- matlab实现线性函数逼近,[转载]【MATLAB】MATLAB 线性拟合小结 ——nb
MATLAB 线性拟合小结 -- REGRESS多元线性回归(用最小二乘估计法) http://wenku.baidu.com/view/0a0ea0de941ea76e59fa0418.html?r ...
- 怎么用matlab测效率,【转载】MATLAB 效率分析
SimWe个人空间Q;cl\xQ%Li{ 于MATLAB的效率问题,很多文章,包括我之前写的一些,主要集中在使用向量化以及相关的问题上.但是,最近我在实验时对代码进行profile的过程中,发现在新版 ...
- matlab怎么做参数估计,[转载]参数估计(matlab)
参数估计包含两种常用方式: 点估计和区间估计. Matlab统计工具箱给出了常用概率分布中参数的点估计 (采用最大似然估计法) 与区间估计, 另外还提供了部分分布的对数似然函数的计算功能. 由于点估计 ...
- cameraman matlab 自带图,[转载]【MATLAB】MATLAB的自带数据及可生成数据的函数——图片形式...
有时我们需要验证一些算法,但又不方便使用自己的数据,这时使用MATLAB自带的数据会带来很多便利,方便交流并且也不用担心未发表的工作会泄露.这里整理了一些MATLAB自带的数据-- 说明:[数据]表示 ...
- matlab wind回测,[转载]基于Matlab和Wind SQL数据库的通用选股策略回测程序
function [y,varargout]=backtestcomplex(x,varargin) % Created by mjf(Tel: 13718883838) on 2012-07-15 ...
最新文章
- STM32 SPI NSS 引脚为不能拉高问题
- 白话Elasticsearch08-深度探秘搜索技术之基于boost的细粒度搜索条件权重控制
- 北京奥运会闭幕式落下帷幕
- 程序员每天少吃===活120岁
- bzoj2751 [HAOI2012]容易题(easy)
- java不等长二维数组_Java中关于二维数组的理解与使用
- 使用VS 2019,.NET Core 3和Web API创建ASP.NET Core Blazor CRUD应用程序
- c 服务器文件路径,c打开服务器文件路径
- 2021年福建高考省检成绩查询,福建省教育考试院:2021年福建高考查分入口、查分系统...
- python二级考试答案错误_如果name = “全国计算机等级考试二级Python”,以下选项中输出错误的是...
- opencv_3.4.2_vc14_vc15.exe下载
- 2021年还有人用.net吗
- Xmarks书签同步工具的用法
- OKR-VUCA时代目标管理利器实践分享
- 如何查看Navicat已保存数据库连接的密码
- NVT平台model屏幕配置
- 机器学习中的数学原理——似然函数
- 【调剂】佳木斯大学信院201实验室今年继续招生,机器学习+医学影像方向
- 十进制转二进制转换c语言程序,二进制转十进制c程序_c语言二进制转十进制
- 杭电信工--大数据期末考试试题