2012-02-06 660 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