Path: csiph.com!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: =?UTF-8?Q?J=c3=b6rg_Buchholz?= Newsgroups: comp.graphics.apps.gnuplot Subject: Re: Filtering and summation of data Date: Mon, 23 May 2022 07:22:47 +0200 Organization: A noiseless patient Spider Lines: 64 Message-ID: References: <369741b2-ffe2-4739-a4a5-164b295f8e97n@googlegroups.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Mon, 23 May 2022 05:22:43 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="71cd530441edab0e9984f1501c6730de"; logging-data="15534"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19XbaSULonZZl9tUz5Z+zVobrJH/inquPA=" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 Cancel-Lock: sha1:4/X1LTR5XGMmeWmlXFcZOqBq36A= In-Reply-To: <369741b2-ffe2-4739-a4a5-164b295f8e97n@googlegroups.com> Content-Language: en-GB Xref: csiph.com comp.graphics.apps.gnuplot:4473 On 19.05.2022 20:15, thomas.lehm...@googlemail.com wrote: > Hi, > > considering data in a table where value are categorized. > I would like to be able a) to filter data for a plot by category > and b) I would like to sum up all values with same category > being able to display it in a plot with box. > > Important: the solution should be platform independent; > as an example "awk" or "sed" is not available on all platforms. > Yes python would be possible but I really would prefer the > pure Gnuplot solution if possible. > > Kind Regards, > Thomas > > Appendix: > > What I. have sofar: > > > set terminal pngcairo size 1400,1000 enhanced font ",20" > set output "DemoSum.png" > > $DemoData << EOD > Timestamp, Category, Value > 2022-05-19 05:55:00, test1, 5 > 2022-05-19 09:16:00, test2, 15 > 2022-05-19 13:56:00, test3, 10 > 2022-05-20 05:15:00, test1, 20 > 2022-05-20 10:58:00, test2, 5 > 2022-05-20 17:20:00, test3, 25 > EOD > > set datafile separator "," > set key autotitle columnhead > > # a very simple plot functionality > set multiplot layout 2, 1 title "Timestamps And Sums" > > # define line style(s) > set style line 1 lc rgb 'grey30' ps 0 lt 1 lw 2 > set style line 2 lc rgb 'grey70' lt 1 lw 2 > set style fill solid 1.0 border rgb 'grey30' > > set timefmt "%Y-%m-%d %H:%M:%S" > set xdata time > set grid > > set title "Data based on date and time" > plot $DemoData using 1:3 with linespoint linestyle 1 > > unset xdata > set title "Data based on categories" > plot $DemoData using 3:xtic(2) with boxes linestyle 1 > stats $DemoData u(strcol(2) eq "test1" ? $3:1/0) sum_test1 = STATS_sum print sum_test1 this is one way to get information for one category inside gnuplot. Jörg