Portál AbcLinuxu, 5. května 2025 17:06
Pratele
Resim nasledujici ulohu. Potreboval bych dostat "dve" meritka na osu x. Osa x je formatovana jako casova osa a vypisuje se na ni cas po 12 hodinach i s datumem. Chtel bych vsak, aby se datum vypisovalo pouze pro kazdy den jednou (nejlepe pod hodnotou 12 hod). Melo by to vypadat asi takto:
--------------------osa x------------
00 12 00 12 ....
datum datum
Zatim to resim jednim meritkem kde kazdy "hodinovy udaj" ma sve datum. Pokud je hodinovych udaju mnoho, datumy se prekryvaji a to neni hezke. Jeste prikladam gnuploti kod:
set terminal png
set output "./graf_prum.png"
set xdata time
set grid
set yrange [-3:9]
set key below
set timestamp "Vytvoreno dne: %d.%m.%Y v hod: %H:%M" 50,-1.5
set ylabel "hodnota [C]"
set format x "%H \n %d.%m.%y"
set timefmt "%Y-%m-%d %H:%M:S"
set ytics 2
set xtics 43200
plot "graf_prum_data.txt" using 1:3 title "teplota "with linespoints linetype 2 linewidth 2 pointsize 0,"graf_prum_data.txt" using 1:4 title "spodni mez (0)" with linespoints linetype 3 linewidth 1 pointsize 0,"graf_prum_data.txt" using 1:5 title "horni mez (6)" with linespoints linetype 1 linewidth 1 pointsize 0
Diky za radu
Ahoj,
napada me nekolik moznosti, jak problem resit.
1] Zkus "xtics" trosku natocit:
set xtics 43200 rotate by -20
2] xtics muzes "predzvykat" bash skriptem do nejakeho pomocneho souboru (napr. myxtics.gnu) a ten pak loadnout (pouzij load "myxtics.gnu" misto puvodni radky se "set xtics"). xtics pak budou vypadat jako
set xtics rotate by -20 ( \ "12:00 29.11.2008" 1227956400, \ " " 1227999600, \ "12:00 30.11.2008" 1228042800, \ )
Dej vedet, zda je to to, cos zamyslel.
Zdravim, jas
Rotaci jsem taky zamyslel, to by bylo nejednodussi ale "zakaznik" toto nechtel. "Predzvykani" se jevi jako dobry napad, ale implementace by byla slozitejsi. Zajimalo me zda gnuplot nemam nejakou funkci na to co jsem psal, na kterou jsem pri googlovani nenarazil. Ale diky
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.