2012-02-06 15 views
8

Matlab đang hiển thị đường viền màu đen xung quanh một ô và tôi muốn xóa nó. Tôi nghĩ rằng tôi nên sử dụng một cái gì đó như:Xóa đường viền quanh ô Matlab

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

Nhưng tôi không chắc chắn những gì PropertyName hoặc PropertyValue nên được sử dụng ...

Edit:

Tôi đã thử tất cả những lời đề nghị bao gồm:

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

con số này vẫn có học sinh nội trú đen và trông như thế này:

enter image description here

Chỉnh sửa 2: Đây là gói đơn giản tái tạo hộp đen. Chạy tập lệnh có tên "runPlot". Dưới đây là: http://dl.dropbox.com/u/8058705/plotTest.zip Tôi không thể hiểu tại sao hộp vẫn hiển thị. Đây có thể là do các dòng trong "plotTEC.m"

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

@Pursuit: Nếu tôi sử dụng "trình duyệt cốt truyện" Tôi nhận được một lỗi đệ quy .... Tôi không quen thuộc với các gói âm mưu matlab nhưng điều này có vẻ lạ. Có ai khác gặp lỗi này không? Một lần nữa, cảm ơn các bạn đã tư vấn cho bạn!

Có ai có bất kỳ đề xuất nào khác không?

Cảm ơn trước!

+0

Tôi nghĩ rằng bạn sẽ cần phải điều tra thủ công hình để xác định vị trí các đường đang được vẽ. Xem câu trả lời đã chỉnh sửa bên dưới để biết chi tiết. – Pursuit

Trả lời

14

Bạn muốn thử nghiệm với các tính chất của trục. Một số thuộc tính quan tâm.

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 

Đối với một cốt truyện hoàn toàn trần, sử dụng:

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

Để thiết lập nền hình sang màu trắng cũng

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

Tùy thuộc vào vấn đề chính xác của bạn, bạn có thể thử 'chiếc hộp 'tài sản, để xem nó ảnh hưởng như thế nào đến các ô của bạn

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

Nếu bạn muốn tắt các dòng thực tế nhưng vẫn giữ nhãn lô thì tôi không biết một giải pháp đơn giản. Tôi nghĩ rằng tôi sẽ cần phải loại bỏ các trục như mô tả ở trên, và sau đó thêm nhãn theo cách thủ công bằng cách sử dụng chức năng text.


Edit: Theo tôi chỉ học được từ câu hỏi này, Plot Overlay MATLAB bạn cũng có thể thử

axis off 
axis on 

Mà tôi nghĩ là tương đương với

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

Chỉnh sửa 2:

Nếu không có gì khác hoạt động, kích hoạt "trình duyệt cốt truyện" trong hình của bạn. Sử dụng "view" -> "plot browser". Từ bảng điều khiển trình duyệt cốt truyện, bỏ chọn từng đối tượng cho đến khi bạn tìm ra đối tượng nào đang vẽ các đường mà bạn cần xóa.

Sau đó, nhấp đúp vào đối tượng vi phạm để hiển thị bảng "trình chỉnh sửa thuộc tính" và hầu như có thể nhấp vào "Thuộc tính khác" để xem tất cả các thuộc tính có thể có của đối tượng đó. Từ quan điểm đó bạn có thể (hy vọng) tìm ra đối tượng nào đang vẽ các đường vi phạm.

Sau khi bạn đã tìm ra đối tượng và thuộc tính cần chỉnh sửa, bạn có thể tìm ra vị trí trong mã mà đối tượng được tạo và đặt thuộc tính theo chương trình.

+0

Tuyệt vời! Cảm ơn. Bạn có biết nếu có một danh sách các đặc tính hình matlab ở đâu đó? – GPSmaster

+1

@GPSmaster - Bạn luôn có thể xem các thuộc tính của đối tượng bằng cách sử dụng lệnh GET, ví dụ: 'get (gcf)' hoặc 'get (gca)'. –

+0

Rất tuyệt. Cảm ơn một lần nữa! – GPSmaster

6

Hãy thử:

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

xem "Chỉnh sửa 2" trong bài đăng gốc của tôi. Cảm ơn rất nhiều vì sự giúp đỡ của bạn! – GPSmaster

0

đặt (gca, 'Có thể nhìn thấy', 'tắt');

3

Giải pháp để loại bỏ nền 'xám' trong 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; 

này nên lưu hình ảnh với cùng một kích thước như của bản gốc, sử dụng imagesc. Chúc mừng!

+0

Nó hoạt động trên cốt truyện, imshow, v.v. – dbs

+1

Lưu hình ảnh bằng biểu tượng 'Lưu' hoặc Tệp -> 'Lưu dưới dạng'. In Matlab, saveas, vv sẽ dẫn đến kích thước hình ảnh khác nhau. – dbs

+0

Đó là sự thật và gây phiền nhiễu, nhưng có 'export_fig' ([tìm thấy ở đây] (http://www.mathworks.com/matlabcentral/fileexchange/23629-export-fig)) thực hiện một công việc thực sự tốt về tiết kiệm lô nói chung. Rất vui khi có một thứ gì đó để lưu các ô theo chương trình. – whlteXbread