2011-10-06 27 views
5

Như đã lưu ý trong tài liệu, brush của MATLAB không hoạt động với các ô errorbar (xem phần Loại Lô Bạn không thể Chải). Ví dụ,Có sự thay thế nào cho ô âm mưu của MATLAB cho phép đánh dấu dữ liệu không?

figure; 
errorbar((1:10)+2*sin(.3:.3:3),cos(1:1:10)/2); 
hold all; 
plot(10:-1:1,'o-g'); 
brush 

tạo ra một âm mưu nơi tôi có thể chải điểm dữ liệu từ xanh plot, nhưng không phải từ đỏ errorbar cốt truyện:

screenshot

Cập nhật

Lý tưởng nhất Tôi muốn tìm cách khôi phục lại các ô có thanh lỗi, ngắn gọn trích xuất XData và YData và tạo lại biểu đồ với plot.

Nếu không, có một chức năng để thay thế errorbar cho phép điều này cho các ô mà tôi tạo trong tương lai không?

+0

Tôi đã viết phiên bản 'errorbar' của riêng mình sử dụng' dòng' thay vì 'cốt truyện' để thêm các thanh thông báo lỗi. Liên hệ với tôi qua liên kết trong tiểu sử của tôi nếu bạn muốn. – Jonas

+0

Tôi nghĩ rằng tôi sẽ đưa bạn lên trên cung cấp đó, cảm ơn :-). –

Trả lời

2

Đối tượng lô được tạo qua line không thể quét được, nhưng những đối tượng được tạo qua plot là. Vì cả hai đối tượng thuộc loại line, tôi nghi ngờ sự khác biệt có thể là ở cấp độ Java.

Tuy nhiên, điều này gợi ý cách giải quyết: Bạn có thể viết phiên bản errorbar sử dụng lệnh line thay vì lệnh plot để vẽ các thanh lỗi, do đó cho phép bạn duyệt chỉ cốt truyện.

+0

Vì vậy, bạn đang nói để sử dụng 'cốt truyện' cho các điểm dữ liệu và' dòng' cho các thanh lỗi, trái ngược với 'errorbar' mà có lẽ sử dụng' dòng' cho cả hai? –

+0

@Jonas Heidelberg: Đây chính xác là những gì tôi đã làm (cộng với một loạt các thứ khác). Ngoài ra, tôi đã xem xét chức năng 'errorbar' mới nhất của Matlab, và tôi nghĩ giải pháp này rất đơn giản (xem phần chỉnh sửa). – Jonas

+0

Dòng mã đó không được gọi với mã thử nghiệm của tôi, chỉ khi 'v6' là đúng. Gỡ lỗi cho thấy các đối tượng đường thẳng được tạo ra bên trong 'specgraph.errorbarseries()' ... nhưng tôi không thấy điều gì khiến chúng không thể quét được. –

Các vấn đề liên quan