2012-02-06 185 views
8

Matlab在一个绘图周围显示一个黑色边框,我想将其删除。我想我应该用这样的:删除Matlab绘图边界

set(Figure#,'PropertyName',PropertyValue); 

但是我不知道应该用什么属性名或...的PropertyValue

编辑:

我尝试了所有的建议,其中包括:

set(gca,'box','off'); 
set(gca,'xcolor','w','ycolor','w','xtick',[],'ytick',[]); 
axis off; 

图中仍具有黑色边框,看起来像这样:

enter image description here

编辑2: 这是一个复制黑匣子的简化包。运行名为“runPlot”的脚本。这里是: http://dl.dropbox.com/u/8058705/plotTest.zip 我不明白为什么箱子仍然可见。这可能是由于“plotTEC.m”行

axis([-.65 .6 .25 1.32]) % hardwiring axis length since the coastline runs off of the plot

@Pursuit:如果我使用“情节浏览器”我得到一个递归错误....我不熟悉的MATLAB绘图软件包但这似乎很奇怪。有没有其他人得到这个错误?再次感谢您的建议!

有没有人有任何其他建议?

在此先感谢!

+0

我认为你需要手动调查这个数字来确定在哪里画线。详细信息请参阅下面的编辑答案 – Pursuit 2012-02-10 21:42:16

回答

14

你想与轴的性能进行试验。一些感兴趣的属性。

xcolor %The color of the x-axis line and the x axis labels 
ycolor % 
box  %'on', or 'off' indicating if one or both sides of a plot should have lines 
xtick %Where to place the labels 
ytick 

对于一个完全裸露的情节,使用方法:

figure 
set(gca,'xcolor','w','ycolor','w','xtick',[],'ytick',[]) 

上图背景设置为白色,以及

set(gcf,'color','w') 

根据您的具体问题,你可以试试“框“属性,看看它是如何影响你的地块

set(gca,'box','on') 
set(gca,'box','off') 

如果您想要关闭实际的图线但保留绘图标签,那么我不知道一个简单的解决方案。我认为我需要如上所述去除轴,然后使用text函数手动添加标签。


编辑:正如我刚才从这个问题,Plot Overlay MATLAB了解到你也可以尝试

axis off 
axis on 

我认为这是相当于

set(gca,'visible','off') 
set(gca,'visible','on') 

编辑2:

如果没有其他作品,激活你的图中的“情节浏览器”。使用“查看” - >“绘图浏览器”。在绘图浏览器面板中,取消选中每个对象,直到找出哪个对象正在绘制需要删除的线条。

然后双击有问题的对象以调出“属性编辑器”面板,并且大多数情况下可能会单击“更多属性”来查看该对象的所有可能属性。从这个角度来看,你可以(希望)弄清楚什么物体正在画出有问题的线条。

确定要编辑的对象和属性之后,可以计算出代码中创建对象的位置,然后以编程方式设置该属性。

+0

太棒了!谢谢。你知道是否有某个地方的matlab图形属性列表? – GPSmaster 2012-02-06 20:55:32

+1

@GPSmaster - 您始终可以使用GET命令查看对象的属性,例如'get(gcf)'或'get(gca)'。 – 2012-02-06 20:58:18

+0

非常酷。再次感谢! – GPSmaster 2012-02-06 20:59:32

6

尝试:

 
set(gca, 'Box', 'off'); 
+0

请参阅我的原始文章中的“编辑2”。非常感谢你的帮助! – GPSmaster 2012-02-13 23:46:22

0

set(gca,'Visible','off');

3

溶液以除去“灰色”背景中于imagesc

I = imread('imgname.jpg'); 
[rows columns] = size(I); 
posX = 100; posY = 100; %you can set any value for posX and posY - try to keep it on screen 
f = figure (1); 
imagesc(I); 
set(gcf,'Position',[posX posY columns rows]); 
set(gca,'units','pixels'); 
set(gca,'units','normalized','position',[0 0 1 1]); 
axis off; 
axis tight; 

这应该与相同尺寸的图像保存为原始的,使用于imagesc。 干杯!

+0

它适用于情节,imshow等。 – dbs 2013-07-12 17:01:10

+1

用'保存'图标或文件 - >'另存为'保存图像。 Matlab打印,saveas等将导致不同的图像大小。 – dbs 2013-07-15 11:21:25

+0

这是真的和烦人的,但有'export_fig'([在这里找到])(http://www.mathworks.com/matlabcentral/fileexchange/23629-export-fig)),它通常能够很好地保存图。很高兴有一些能以编程方式保存剧情。 – whlteXbread 2014-05-15 01:48:33