2013-02-20 66 views
9

Tôi mới vào gnuplot và tôi đang cố gắng để xác định max nd mina từ một datafile và sau đó vẽ đồ thị dữ liệuXác định min và max trong gnuplot

Cho đến nay tôi đã được quản lý để xác định min và max như thế này:

# Define two helper functions 
ismin(x) = (x<min)?min=x:0 
ismax(x) = (x>max)?max=x:0 

# Initialise the 'global' vars 
max=-1e38 
min=1e38 

plot "Data.txt" u 0:(ismin($3)*ismax($3)) 

Vấn đề là tôi đang cố gắng vẽ dữ liệu bằng cách sử dụng dấu và không hoạt động.

tôi đang cố gắng này:

splot \ 
'Data.txt' u 2:1:3 with pm3d t '',\ 

Nếu tôi loại bỏ các phần liên quan đến việc xác định min và max, lệnh splot công trình.

Mọi đề xuất?

+0

Bản sao có thể có của [gnuplot: giá trị lớn nhất và tối thiểu trong một phạm vi] (https://stackoverflow.com/questions/13580236/gnuplot-max-and-min-values-in-a-range) –

Trả lời

14

Nhìn vào các lệnh stats:

stats 'datafile' using 3 

ví dụ, sẽ nhận được thống kê trên cột thứ 3 (dữ liệu z), và lưu trữ chúng trong các biến (STATS_minSTATS_max có thể là những gì bạn muốn). Để xem tất cả các biến được tạo, hãy nhập

show variables all 

sau khi chạy stats. Nếu bạn có phiên bản gnuplot cũ hơn mà không có stats, bạn có thể vẽ tệp mà không tạo đầu ra và gnuplot tự động xác định một số biến số DATA_ -prefixed bao gồm min/max. Lệnh stats tiết kiệm sự cố khi xác định đầu ra rỗng để nhận dữ liệu trước khi vẽ.

+0

tuyệt vời .. cảm ơn ... Tôi đã tìm kiếm điều này .. Gnuplot 4.6 đã bổ sung thêm một số tính năng thực sự tuyệt vời ... – Abhinav

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