matlab怎么在图上添加图例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab怎么在图上添加图例相关的知识,希望对你有一定的参考价值。
方法如下:figure;
%设置坐标轴线宽,加边框,坐标字号
axes(\'linewidth\',1, \'box\', \'on\', \'FontSize\',16);
%设置坐标轴label
xlabel(\'时间(s)\',\'FontSize\',16);
ylabel(\'压力(pa)\',\'FontSize\',16);
grid on;
hold on;
plot(ScopeData1.time, ScopeData1.signals.values, \'k\', \'linewidth\', 1);
%设置坐标轴上下限
xlim([0, 0.5]);
ylim([5300000, 5800000]);
ppfranklee 的 MATLAB 操纵坐标轴
axis off; % 去掉坐标轴
axis tight; % 紧坐标轴
axis equal; % 等比坐标轴
axis([-0.1, 8.1, -1.1, 1.1]); % 坐标轴的显示范围
% gca: gca, h=figure(...);
set(gca, \'XLim\',[3 40]); % X轴的数据显示范围
set(gca, \'XTick\',[-3.14,0,3.14] ); % X轴的记号点
set(gca, \'XTicklabel\',\'-pi\',\'0\',\'pi\'); % X轴的记号
set(gca, \'XTick\', []); % 清除X轴的记号点
set(gca, \'XGrid\',\'on\'); % X轴的网格
set(gca, \'XDir\',\'reverse\'); % 逆转X轴
set(gca, \'XColor\',\'red\'); % X轴的颜色
matlab 画图, 去掉边
2011-02-25 11:12
1. 去掉边框, 空白区域。
首先要了解的是Matlab是面向对象的。最高等级的对象是screen,它定义了figure可以用的最大szie。
screen下面是figure。figue就是你画图的时候跳出来的那个新的对话窗口。如果figure变化,screen是不会跟着变化的。但screen变化的话,figure就要跟着变化了。
figure下面是axes。axes是那个窗口里面你要画的东西。axes的大小和位置取决于figure,如果你放大缩小figure的大小的话,里面的图线也会跟着变化的。
plot(j,y,\'Marker\',\'+\',\'LineWidth\',1.5,\'LineStyle\',\':\',\'Color\',[0 0 1])
% 设置坐标轴距离画板边距, 左下山下,依次调整图的空白区域。
set (gca,\'position\',[0.1,0.1,1,1] );
用matlab画了一张图,投稿时要缩小,缩小后字体就会过小或者发虚。
我摸索出比较好的方法是如下的代码:
%%%%%%%%%%%%%%%%%%%%%
%plot your figure before
%%%%%%%%%%%%%%%%%%%%%
% figure resize
set(gcf,\'Position\',[100 100 260 220]);
set(gca,\'Position\',[.13 .17 .80 .74]);
figure_FontSize=8;
set(get(gca,\'XLabel\'),\'FontSize\',figure_FontSize,\'Vertical\',\'top\');
set(get(gca,\'YLabel\'),\'FontSize\',figure_FontSize,\'Vertical\',\'middle\');
set(findobj(\'FontSize\',10),\'FontSize\',figure_FontSize);
set(findobj(get(gca,\'Children\'),\'LineWidth\',0.5),\'LineWidth\',2);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
解释:
set(gcf,\'Position\',[100 100 260 220]);
这句是设置绘图的大小,不需要到word里再调整大小。我给的参数,图的大小是7cm
set(gca,\'Position\',[.13 .17 .80 .74]);
这句是设置xy轴在图片中占的比例,可能需要自己微调。
figure_FontSize=8;
set(get(gca,\'XLabel\'),\'FontSize\',figure_FontSize,\'Vertical\',\'top\');
set(get(gca,\'YLabel\'),\'FontSize\',figure_FontSize,\'Vertical\',\'middle\');
set(findobj(\'FontSize\',10),\'FontSize\',figure_FontSize);
这4句是将字体大小改为8号字,在小图里很清晰
set(findobj(get(gca,\'Children\'),\'LineWidth\',0.5),\'LineWidth\',2);
这句是将线宽改为2
4.设置坐标轴参数
(1)axis,设置当前轴的坐标范围;
(2)axes,用指定的特征创建一个新坐标轴;
(3)get和set,查询或设置已有轴的各种特性;
(4)gca,返回当前轴的句柄。
如果图形中有多个坐标轴,在当前轴为最后图形创建的图形的坐标轴。Matlab绘制图形数据时候,会自动选择坐标轴范围,用axis可以设置新的坐标轴的范围,用一个具有四个元素的矢量表示坐标范围,格式为:
axis([xmin,xmax,ymin,ymax]);如果不指定某一个方向范围可以使用inf或-inf表示,则产生半自动坐标轴范围。
对于线性坐标轴,matlab会自动根据数据范围设置等间距的坐标轴数值标记,用set,修改gca变量中xtick和ytick的属性值,可以自定义坐标轴标记。如
set(gca,’ytick’,[-0.3:0.1:1]);
可以使用字符矢量通过修改gca变量中的’XtickLabel’实现标记字符,如:
set(gca,’Xtick’,-pii/2i);
set(gca,’XtickLabel’,‘-pi’,’-pi/2’,’0’,’pi/2’,’pi’;
Axis square设置两坐标轴长度成相等。
Axis equel设置坐标轴标记间距相等;
Axis equel tight;设置图形以紧缩方式显示。
5.图形窗口
figure(2);%以第二个图形窗口作为当前图形输出的窗口;
subplot(m,n,i);%分成m×n个小区域,I指定当前绘图区域;
colordef 颜色;%如white,black等,设置绘图背景颜色。
6.图形标注
Matlab提供了几个函数用于图形的标注:
函数名功能描述
Title添加图形标题
Xlabel,xlabel,zlabel添加X,Y,Z轴标注
Legend在图形中添加图例
Text在指定位置显示文本
Gtext使用鼠标将指定文本放在图形中的位置
如下为添加标题,坐标轴标注实例:
>> t=0i/100i*2;
>> plot(t,sin(t));
>> xlabel(\'t=0 to 2pi\',\'Fontsize\',16);
>> ylabel(\'sin(t)\',\'fontsize\',16);
>> title(\'Value of the Sine from Zero to Two pi\',\'fontsize\',16)
注:标注时:pi显示成希腊字母,alpha,beta。
在图形中添加标注与图例,如下:
>> t=0i/100i*2;
>> plot(t,sin(t));
>> xlabel(\'t=0 to 2pi\',\'Fontsize\',16);
>> ylabel(\'sin(t)\',\'fontsize\',16);
>> title(\'Value of the Sine from Zero to Two pi\',\'fontsize\',16)
>> text(3*pi/4,sin(3*pi/4),\'leftarrow=.707\',\'fontsize\',16)
>> text(pi,sin(pi),\'leftarrowsin(t)=0\',\'fontsize\',16)
>> text(5*pi/4,sin(5*pi/4),\'sin(t)=-.707rightarrow\',\'HorizontalAlignment\',\'right\',\'fontsize\',16)
>> gtext(\'graph of function sin(x)\') %可以用鼠标指定字符串所需放设位置。
>> H=legend(\'con\',\'sin\',0) %绘制图例 参考技术A 例如,我们给下面的图像添加标题,x轴说明,y轴说明以及图例
添加标题的命令:
>>title('y=2e^-0.5xcos(4\pi x)')
添加x轴说明,y轴说明的命令为:
>>xlabel('x');
>>ylabel('y');
添加图例的命令为:
>>legend('y=2e^-0.5xcos(4\pi x)');
结果如下图所示:
当然,我们可以直接在图像中进行添加这些信息,我们只需要点击图像的Edit plot按钮,如下图所示:
步骤阅读
在出现如下图所示的对话框中进行修改即可本回答被提问者采纳 参考技术B text就可以。 h = figure; imshow(Img); text(x,y,'文字'); x,y是坐标。 想保存的话再用saveas把h保存就好了。
r语言中,画出了频率分布直方图,怎么在图上添加概率分布曲线?
可以用内置的graphic包来画,就是plot()和curve()
也可以用ggplot2来画,后者更灵活。
graphic
x <- rnorm(2000)
# 画频率直方图, 分30个bin
hist(x, freq = F, breaks = 30)
# 再画概率分布曲线
lines(density(x, bw=.5), col="red", lwd=2)
2. ggplot2
# 准备工作, 把x设成一个数据集library(ggplot2)
data <- data.frame(x = x)
# 生成底层和直方图,概率线的图层
p <- ggplot(data, aes(x = x, y = ..density..))
p <- p + geom_histogram(fill = "navy")
p <- p + geom_density(colour = "green")
p
画出来风格不太一样,看你口味了
也可以用ggplot2来画,后者更灵活。
graphic
1
2
3
4
5
6
# 先生成一组随机数
x <- rnorm(2000)
# 画频率直方图, 分30个bin
hist(x, freq = F, breaks = 30)
# 再画概率分布曲线
lines(density(x, bw=.5), col="red", lwd=2)
2. ggplot2
1
2
3
4
5
6
7
8
# 准备工作, 把x设成一个数据集
library(ggplot2)
data <- data.frame(x = x)
# 生成底层和直方图,概率线的图层
p <- ggplot(data, aes(x = x, y = ..density..))
p <- p + geom_histogram(fill = "navy")
p <- p + geom_density(colour = "green")
p
画出来风格不太一样,看你口味了
以上是关于matlab怎么在图上添加图例的主要内容,如果未能解决你的问题,请参考以下文章