Tôi có hai tệp dữ liệu sau đây tôi muốn vẽ bằng cách sử dụng gnuplot.gnuplot xếp chồng lên nhau biểu đồ chồng lên nhau
timings0.log:
41420
32587
4082
4668
81
547
325
timings1.log:
41297
32393
4106
4720
75
502
266
Họ đại diện cho timings của các thành phần khác nhau của một phần mềm, trong đó mỗi tập tin được tạo ra bởi một thực với một cấu hình khác và mỗi dòng trong các tệp tương ứng với một thành phần khác. Tôi đang sử dụng các lệnh sed để có thể trích xuất các dòng cụ thể trong các tệp thời gian (theo cách tiếp cận được đề xuất here) và có thể hiển thị các ô mà chỉ một số thành phần xuất hiện. Tôi muốn hiển thị cả hai tập hợp thời gian trong cùng một lô, trong một biểu đồ xếp chồng xếp chồng lên nhau.
Đây là mã hiện tại của tôi:
set terminal svg size 500,500 enhanced font 'Times-Roman,14'
set key vertical maxrows 3
set style data histograms
set style histogram rowstacked title offset 0,-1 gap 1
set boxwidth 0.5 relative
set style fill solid 1.0
set xlabel offset 0,1
set xrange [-1:2]
set xtics 0,1
set xtics add ("1st Config"0)
set xtics add ("2nd Config"1)
set xtics add (""2)
set yrange [0:50000]
set ylabel "Time (ms)"
set ytics 0,5000,50000
set output "test.svg"
plot newhistogram "0" lt 1, "<(sed '2!d' timings0.log)" notitle, "<(sed '3!d' timings0.log)" notitle, "<(sed '4!d' timings0.log)" notitle, "<(sed '5!d' timings0.log)" notitle,\
newhistogram "1" lt 1, "<(sed '2!d' timings1.log)" t "Load", "<(sed '3!d' timings1.log)" t "Sort", "<(sed '4!d' timings1.log)" t "Calculation", "<(sed '5!d' timings1.log)" t "Cleanup"
Mã này hoạt động hoàn hảo khi tôi chỉ hiển thị một biểu đồ (tương ứng với timings0.log ví dụ), nhưng khi chạy kịch bản ở trên để hiển thị cả biểu đồ, họ không lan ra trên xaxis và họ dường như chồng lên nhau. Đây là kết quả của kịch bản trên:
Có thể có một giải pháp rõ ràng, nhưng sau nhiều nỗ lực và tìm kiếm trên nhiều nguồn lực sẵn có trên mạng, tôi đã không có được kết quả chính xác. Tôi đang sử dụng gnuplot 5 patchlevel 3.
Xin cảm ơn trước, mọi trợ giúp sẽ được đánh giá cao!
Cảm ơn, mà đã làm các trick, giúp đỡ rất nhiều đánh giá cao! ;-) – Pyves