statistik gnuplot dengan data waktu (dikonversi dari string sebagai float) gagal sebagai argumen tunggal

Saya memiliki file data dengan data waktu sebagai satu kolom. Karena perintah stats tidak kompatibel dengan data waktu (Stats command not available in timedata mode), kita harus melakukan konversi terlebih dahulu:

set xdata
stats 'data' u (strptime(fmt,strcol(1)))

namun ini tidak berhasil. gnuplot mencetak kesalahan berikut: All points out of range

Saya tidak tahu kenapa, tapi saya punya ide untuk menggunakan kolom buatan kedua:

stats 'data' u (strptime(fmt,strcol(1))):(1.0)

Ini berfungsi sebagaimana mestinya (mengapa?), tetapi dengan kolom kedua yang tidak diperlukan. Bagi saya, "solusi" ini tidak masalah, karena saya tidak memiliki file data besar untuk diplot, tetapi jika orang punya... Ini bisa sangat mengganggu.

Apakah saya melewatkan sesuatu?
Mengapa statistik gnuplot berperilaku seperti ini?
Apakah ini bug, layak untuk dilaporkan?


person nox    schedule 30.01.2016    source sumber


Jawaban (1)


Mungkin Anda telah menyetel yrange sebelum memanggil perintah stats. Jika Anda memanggil stats dengan satu kolom, datanya diperlakukan sebagai kolom y. Dalam panggilan kedua Anda memberikan kolom kedua secara eksplisit, dan data waktu diperlakukan sebagai kolom x.

Panggilan

reset
fmt = "%Y..."
stats 'data' u (strptime(fmt,strcol(1)))

seharusnya bekerja dengan baik.

person Christoph    schedule 30.01.2016
comment
Wow, memahami pesan kesalahan itu sangat penting. Itu menyelesaikannya :D terima kasih! - person nox; 30.01.2016
comment
Pada awalnya saya menganggapnya berlawanan dengan intuisi, tetapi plot "data" using 1 juga memperlakukan kolom tertentu ini sebagai data y. Dalam dokumentasi 5.0 hal ini telah diklarifikasi. - person Christoph; 30.01.2016