Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.graphics.apps.gnuplot > #4175
| From | Jörg Buchholz <bookwood4new@freenet.de> |
|---|---|
| Newsgroups | comp.graphics.apps.gnuplot |
| Subject | Re: plot datafile with a blank between +- and some data |
| Date | 2019-04-04 10:10 +0200 |
| Organization | A noiseless patient Spider |
| Message-ID | <q84e5s$i2f$1@dont-email.me> (permalink) |
| References | <q81kck$ifh$1@dont-email.me> <q82uah$dg1$1@dont-email.me> <q833op$5u4$1@solani.org> |
On 03.04.2019 22:06, Karl Ratzsch wrote: > Am 03.04.2019 um 20:33 schrieb Jörg Buchholz: >> On 03.04.19 08:38, Jörg Buchholz wrote: >>> Hello, >>> >>> how can I plot the following data structure out of a file? >>> >>> 33,2019/03/21 10:00:06, 0,+ 6.786,+ 2.507 >>> 34,2019/03/21 10:00:07, 0,+10.089,+ 5.564 >>> 35,2019/03/21 10:00:08, 0,- 0.584,+ 3.324 >>> 36,2019/03/21 10:00:09, 0,+10.156,+ 0.024 >>> 37,2019/03/21 10:00:10, 0,+ 4.278,+ 5.439 >>> 38,2019/03/21 10:00:11, 0,+ 0.431,+ 0.262 >>> >>> >>> set datafile separator comma >>> plot 'datafile' u 1:4 w p pt 7 >>> >>> gives only the values higher than 10 to me, cause there are no space >>> between the sign and the value. >>> >>> How can I set the format correct to get all points? >> >> At the moment my solution is the following: >> >> system "sed -i 's/+ / +/g;s/- / -/g' datafile" >> >> Is there a solution to do it inside gnuplot? > > Possibly, but it will be very cumbersome. Putting a space between > the sign and the decimal number is really a mean trick. It is a .csv file that comes from a "Graphtec GL240 midi Data Logger". > "plot" can use a scanf() format specifier, but it cannot handle the > date/time column, and only seven values in total, plus it would > still stumble over the space in column 4. > > Be that as it may: > > $dat << EOD > 33,2019/03/21 10:00:06, 0,+ 6.786,+ 2.507 > 34,2019/03/21 10:00:07, 0,+10.089,+ 5.564 > 35,2019/03/21 10:00:08, 0,- 0.584,+ 3.324 > 36,2019/03/21 10:00:09, 0,+10.156,+ 0.024 > 37,2019/03/21 10:00:10, 0,+ 4.278,+ 5.439 > 38,2019/03/21 10:00:11, 0,+ 0.431,+ 0.262 > EOD > > set dataf sep "X" > > col1(st) = st[1:2] * 1.0 > col4(st) = (st[28:28] eq "-" ? -1 : 1) * st[29:34] > stcol(n) = stringcolumn(n) > > set table > plot $dat us (col1(stcol(1))):(col4(stcol(1))) with table > unset table Thanks for your solution. There are some more columns. So I think, for me, it is easer do handle the datafile with sed. From inside gnuplot or direct after the files where produced. Jörg
Back to comp.graphics.apps.gnuplot | Previous | Next — Previous in thread | Next in thread | Find similar
plot datafile with a blank between +- and some data Jörg Buchholz <bookwood4new@freenet.de> - 2019-04-03 08:38 +0200
Re: plot datafile with a blank between +- and some data Jörg Buchholz <bookwood4new@freenet.de> - 2019-04-03 20:33 +0200
Re: plot datafile with a blank between +- and some data Karl Ratzsch <mail.kfr@gmx.net> - 2019-04-03 22:06 +0200
Re: plot datafile with a blank between +- and some data Jörg Buchholz <bookwood4new@freenet.de> - 2019-04-04 10:10 +0200
Re: plot datafile with a blank between +- and some data Karl Ratzsch <mail.kfr@gmx.net> - 2019-04-04 23:47 +0200
csiph-web