2012-06-13 28 views
7

Khi âm mưu màu bản đồ sử dụng gnuplot, tôi thường sử dụng các dòng sau:Gnuplot: Thiết lập phạm vi của một điểm thứ ba (màu)

... 
    set palette rgbformulae 33,13,10 
    plot "file.dat" using 1:2:3 with points pointtype '7' palette 

Thường thì phạm vi của điểm thứ ba (xuất hiện trong truyền thuyết) được tự động thiết lập bởi gnuplot. Nhưng làm thế nào tôi có thể thay đổi điều đó? nói rằng tôi muốn phạm vi của điểm thứ ba là từ 0 đến 1500.

Bất kỳ đề xuất nào?

Trả lời

11

Đây thực sự là một câu hỏi thực sự tốt - giả sử bạn có nghĩa là bạn muốn xác định dải màu (không phải là chú giải [tức là khóa] - chú giải thường không có thông tin đó).

Suy nghĩ đầu tiên của tôi là set cbrange. Điều này có thể làm những gì bạn muốn -

set cbrange [0:1500] 
set palette rgbformulae 33,13,10 
plot "file.dat" u 1:2:3 w p pt 7 palette 

Tuy nhiên, câu hỏi là "Bạn muốn điều gì xảy ra ngoài phạm vi?" Giải pháp này sẽ di chuyển ra khỏi phạm vi điểm đến đáy/trên cùng của thang tỷ lệ (ví dụ: màu tím cho số âm, màu đỏ cho số lớn hơn 1500). Suy nghĩ tiếp theo của tôi là bạn sẽ có thể cắt những điểm đó ra bởi set zrange [0:1500] - Nhưng điều đó không hiệu quả. Bạn có ít nhất 2 tùy chọn tại thời điểm này.

Lựa chọn 1: sử dụng splot:

set view map 
set cbrange [0:1500] 
set zrange [0:1500] 
set palette rgbformulae 33,13,10 
splot "file.dat" u 1:2:3 w p pt 7 palette 

biên giới của bạn sẽ hơi khác so với lúc trước, nhưng điều đó không có vấn đề lớn thực sự.

Phương án 2: bộ lọc với các nhà điều hành ternary (mà bạn đã biết về từ câu hỏi trước của bạn):

set cbrange [0:1500] 
set palette rgbformulae 33,13,10 
inrange(c)=((c>=0) && (c<=1500))? c : (1/0) 
plot "file.dat" u 1:2:(inrange($3)) w p pt 7 palette 

Ngoài ra, đối âm mưu bản đồ màu sắc, bạn có thể muốn nhìn vào phong cách pm3d âm mưu (image cũng có thể hoạt động). Bạn có thể cần phải cơ cấu lại dữ liệu của bạn một chút, nhưng vẽ sơ đồ màu là vẽ đồ thị và bánh mì.

+0

Cảm ơn rất nhiều câu trả lời chi tiết của bạn. – stupidity

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