2012-07-21 47 views
5

có ai biết lệnh hoặc cách để vẽ với các màu khác nhau ngoài màu được đặt trước, tức là, b, g, r, c, m, y, k? Tôi muốn sử dụng màu sắc tùy chỉnh riêng của tôi thay vì những ....Matlab Lô với Tùy chỉnh màu

Cheers

Trả lời

12

Sử dụng Color tài sản với một ColorSpec ba:

plot(x, y, 'Color', [0.5, 1.0, 0.0], 'LineStyle', '--') 

Các vector đây chứa các giá trị RGB giữa 0.01.0. Các mục nhập tài liệu LineseriesColorSpec có thêm thông tin về việc này.

+1

Cảm ơn bạn! Tôi có thể tìm bản đồ màu ở đâu để quyết định số nào nằm trong khoảng 0 - 1 để nhập vào mã? Tôi đã tìm kiếm cho Lineseries, ColorSpec và Colormap nhưng không thể nhìn thấy những gì tôi muốn. Cách thông thường để lựa chọn từ bản đồ pixel là dưới dạng 1. – kit

+0

@kit: Nếu bạn có bản đồ màu (ví dụ 'nóng'), IIRC bạn sẽ nhận được màu' k' từ bản đồ màu bằng cách sử dụng 'cmap = colormap ('nóng bức'); cmap (k, :) '. Nếu yo có giá trị màu từ 0 đến 255, chỉ cần chia cho 255 để có phạm vi chính xác. – You

+0

Cảm ơn rất nhiều, Bạn. Tôi đang nhận được những gì bạn có ý nghĩa bây giờ. Học tốt... – kit

0

From the matlab docs:

ColorOrder: m-by-3 ma trận RGB giá trị

Màu sắc sử dụng cho các ô nhiều dòng. Xác định các màu được sử dụng bởi các ô và các hàm plot3 để tô màu từng đường vẽ. Nếu bạn không chỉ định màu đường với cốt truyện và ô3, các hàm này sẽ chuyển qua thuộc tính ColorOrder để lấy màu cho mỗi đường được vẽ. Để có được ColorOrder hiện nay, mà có thể được thiết lập trong quá trình khởi động, có giá trị tài sản:

get (GCA, 'ColorOrder') Lưu ý rằng nếu các trục NextPlot tài sản là thay thế (mặc định), cấp cao các chức năng như thiết lập lại âm mưu các thuộc tính ColorOrder trước khi xác định màu sắc để sử dụng. Nếu bạn muốn MATLAB sử dụng một ColorOrder khác với mặc định, hãy đặt NextPlot để thay thế. Bạn cũng có thể chỉ định ColorOrder mặc định của riêng mình.

Tất cả cùng nhau, điều này có nghĩa là bạn muốn các lệnh:

figure(); 
axis(); 
set(gca, 'colororder', <color matrix>, 'nextplot', 'replacechildren'); 
plot(x,y); 
+0

tôi nhận được những gì bạn có nghĩa là về thiết thứ tự màu sắc. Tôi đã thử các lệnh sau. hình bộ (gca, 'colororder', [1, 0.5, 0.753], 'nextplot', 'replacechildren'); lô (x, y) hình lô (x, z) Tôi không biết tại sao tôi lại nhận được màu mặc định cho hình thứ hai, có vẻ như tôi không sử dụng nextplot và replacechildren một cách chính xác – kit

+0

Bạn có tạo và trục không đối tượng với 'axis()' trước khi gọi 'set'? – Isaac

+0

Có, tôi đang thêm ngay bây giờ, nhưng vẫn nhận được màu mặc định cho ô thứ hai. Đây là mã của tôi: figure(); trục(); bộ (gca, 'colororder', [1, 0.5, 0.753], 'nextplot', 'replacechildren'); lô (x, y) hình lô (x, z) Trục() làm gì? Tại sao chúng ta cần()? Nhân tiện, tôi đang làm một mớ hỗn độn khi dán matlab mã hóa ở đây. Tôi có thể biết lệnh nào tôi cần thêm trước khi dán mã của tôi và vừa với hộp màu xám như bạn đã làm không? Tôi là người dùng mới cho loại diễn đàn này. Cảm ơn! – kit

0

Tôi đã gặp vấn đề tương tự với bộ giới hạn màu đặt trước MATLAB đã có sẵn. Vì vậy, tôi đã tạo ra trang này trên trang web của tôi, nơi bạn có thể chọn từ một bảng lớn màu sắc phi tiêu chuẩn, và mã màu được dán trực tiếp vào clipboard của bạn:

http://www.shirt-ediss.me/matlab-octave-more-colours/

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