matlab 图例边框画完图后,图例的边框怎么去掉啊,求教? 看好 是图例的边框

查看: 10399|回复: 6|关注: 0
如何去掉fill函数所画图像的边框
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
这是help中的例子 :
t = (1/16:1/8:1)'*2*
x = sin(t);
y = cos(t);
fill(x,y,'r')
axis square
使用shading flat 后,matlab 出现:
Warning: Patch FaceVertexCData of size 0 cannot be used with Flat shading.
我很想把所画图形的黑色边框去掉,请问该如何改?
关注者: 56
设置patch的linestyle属性为none
<h1 style="color:# 麦片财富积分
关注者: 4
fill(x,y,'r','edgealpha',0)
关注者: 52
t = (1/16:1/8:1)'*2*
x = sin(t);
y = cos(t);
fill(x,y,'r','edgealpha',0))
axis square
untitled.jpg (14.36 KB, 下载次数: 0)
22:01 上传
[color=red][size=5][b]相互学习共同进步 若帮到你请给威望和评分[/b][/size] [/color]
<h1 style="color:# 麦片财富积分
谢谢大家! 非常感谢!:loveliness:
<h1 style="color:# 麦片财富积分
受用了啊,最近一直在纠结怎么进行阴影填充的问题
<h1 style="color:# 麦片财富积分
赞一下赞一下
Powered bymatlab(2)
这是我在用Matlab用imshow输出图像然后制作成.gif文件时遇到的问题,就是图像中总是有一个灰色的边框。
首先附上将两帧彩色图像写入.gif文件的代码:
filename = &#39;change.gif&#39;;
imshow(m);
frame = getframe(1);
im = frame2im(frame);
[A, map] = rgb2ind(im, 256);
imwrite(A, map, filename, &#39;gif&#39;, &#39;LoopCount&#39;, Inf, &#39;DelayTime&#39;, 1);
imshow(W);
frame = getframe(1);
im = frame2im(frame);
[A, map] = rgb2ind(im, 256);
imwrite(A, map, filename, &#39;gif&#39;, &#39;WriteMode&#39;,&#39;append&#39;,&#39;DelayTime&#39;, 1);
imshow的输出就是自带一个边框:
我也尝试了网上各种偏方,set(gcf)中修改一大堆参数。但是转念一想,set毕竟更多是针对plot出来的曲线图表,我们输出的是图像。所以可以修改imshow,改为:
imshow(m,&#39;Border&#39;,&#39;tight&#39;);
从此我再也没有被灰色边框的问题困扰过。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2111次
排名:千里之外
原创:12篇
(1)(3)(3)(1)(3)(1)(1)matlab&画图,&去掉边
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
% 设置坐标轴距离画板边距, 左右山下,依次调整图的空白区域。&
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
2\pi','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
2\pi','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)=-.707\rightarrow','HorizontalAlignment','right','fontsize',16)
&& gtext('graph of function
sin(x)') %可以用鼠标指定字符串所需放设位置。
&& H=legend('con','sin',0)
%绘制图例
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Matlab图像去掉空白边框
今天用Matlab处理图像.用imshow函数显示的图片有多余的空白边框.去掉方法是:imshow(ImagesAll);set(gca,'position',[0 0 1 1]);axis& normal一般的用plot函数画的图像只需要set(gca,'position',[0 0 1 1])就可以达到目的,但是imshow的函数里使用了axis image,保持了图...
分享这篇日志的人也喜欢
热门日志推荐
人人最热标签
分享这篇日志的人常去
北京千橡网景科技发展有限公司:
文网文[号··京公网安备号·甲测资字
文化部监督电子邮箱:wlwh@··
文明办网文明上网举报电话: 举报邮箱:&&&&&&&&&&&&
请输入手机号,完成注册
请输入验证码
密码必须由6-20个字符组成
下载人人客户端
品评校花校草,体验校园广场

我要回帖

更多关于 origin去掉图例边框 的文章

 

随机推荐