I thought this would be simple to google, but I have not been able to find an answer yet:
I have the simple script:
plot [3:16.99][0.8:]"alltables.txt" using 1:2 smooth uniq with points
Where the alltables.txt is a 2-column list of numbers. The smooth uniq operation plots the moving average of my data. My question is how can I find out the coordinates of these points? And beyond that how can I label them on the plot with their coordinates?
If your gnuplot version is recent enough, you should be able to
plot [3:16.99][0.8:]"alltables.txt" using 1:2:2 smooth uniq with labels
Related
So, here I am trying to plot heatmaps in gnuplot. I have a matrix-formatted text file (with row and column headers), and the command I am using to plot it is
plot "file.txt" matrix rowheaders columnheaders using 1:2:3 w image notitle
The output is this graph:
Obviously, the X and Y labels are useless like this. I believe the problem here is that gnuplot is extracting all labels from the file and plotting them. How would I go about reducing the amount of clutter in here, e.g. plotting every 10th label or so?
Thanks in advance.
Or just make the picture resolution bigger... for instance like 1920,1080 or bigger... like this:
set term pngcairo size 1920,1080
or make the tics numbers like 1000000 smaller and make a label to show that the numbers written on the tics are 1000000 bigger... or both:)
Sorry for my english...
I want to add markers to some of my plots using pointtype. If I plot data like so:
plot "somedata.txt" w linespoint pointtype 6
or a function like so:
plot cos(x) pointtype 6
I get exactly what I want: a line between and a marker on top of all data points. Right now I want to achieve the same, but after "smoothing" out a dataset using smooth bezier:
plot "somedata.txt" w linespoint pointtype 6 smooth bezier
However pointtype doesn't seem to do anything. I can set linecolor, linewidth and linetype as before, but not pointtype.
Does anyone know of a work-around that can still produce markers on top of a smoothed plot?
I have the same issue that gnuplot does not plot points on top of a smooth curve. I speculate that since gnuplot is plotting a function derived from the data points, it does not bother putting the point markers on top of the original data points
Note that a bezier curve will not necessarily overlay the original data points.
My workaround would involve plotting the data twice in different ways:
plot 'data.txt' with points title 'original data', \
'' smooth bezier title 'smoothed data'
I agree with #andyras. I have this issue a few weeks algo and couldn't find a way to put both, the smoothed curve and the data. Thus, I plotted two series, one with the smoothed curve and another just for the points.
Edit: sorry for adding a new answer. I'm on my phone and couldn't find a way to comment under #andyras answer
Since stats on datafile containing two columns in gnuplot 4.6 provides mean and sd, I was wondering if I can plot errorbars on the fly instead of creating a third column? Thanks!
Assuming a file data.dat with two columns, you could get those error bars with a command like:
stats 'data.dat' nooutput
plot 'data.dat' using 1:2:(STATS_stddev_y) with errorbars
What would this mean, however? All the points have the same standard deviation, which is the value for the whole data set.
I could provide a more complete answer if you describe your data format/data sets in more detail.
I have a data file, looking like
550 1.436e+00 7.857e-01 5.906e-01 4.994e-01 4.574e-01 4.368e-01 4.260e-01 4.273e-01 4.296e-01 4.406e-01 4.507e-01 4.639e-01 4.821e-01 5.008e-01 5.156e-01 5.378e-01 5.589e-01 5.768e-01 5.970e-01 6.196e-01 6.422e-01 6.642e-01
The first column is for x-axis, the rest ones are for the y-axis, 22 curves totally.
I want to plot the data so that y tics represent cube roots of the values. Actually, I want my cubic curves to become linear, to show, that they're cubic in the normal coordinates (and it is fixed by my task to use these coordinates).
I tried to use the following command:
plot for [i=2:23] datafile using 1:(i ** .333) smooth cspline
It expects column number in place of i.
I know, the following is correct:
plot datafile using 1:($2 ** .333) smooth cspline
giving me the desired plot for my first line. But how do I modify this for plot for?
If you want the column number in place of i, you should use column(i) in the using specification.
plot for [i=2:23] datafile using 1:(column(i) ** .333) smooth cspline
How do you make an horizontal box-and-whiskers plot in gnuplot? Similarly to this one:
Gnuplot can easily be used to produce vertical box-and-whiskers plots with the 'candlesticks' and 'whiskerbars' keywords, but I have not managed to find any example of an horizontal candlesticks/box-and-whiskers horizontal plot produced via gnuplot online.
Example of a vertical plot produced by gnuplot:
example of a vertical box-and-whiskers plot http://www.cise.ufl.edu/~dts/cop3530/proj02/candlesticks.6.png
Gnuplot generally doesn't switch directions well... for example you can't plot rows instead of columns, and it's hard to make histograms (or any other kind of plot) go horizontal instead of vertical.
People have made horizontal histograms, however, and you might be able to modify the code found at this site.