gnuplot


Displaying markers on specific values in Gnuplot's line plot


I have data for a CDF in a file which looks like the following:
0.033 0.0010718113612
0.034 0.0016077170418
0.038 0.0021436227224
... ...
... ...
0.847 0.999464094319
0.862 1.0
First column is the X-axis value and the second column is the CDF value on Y-axis. I set the line style as follows:
set style line 1 lc rgb 'blue' lt 1 lw 2 pt 7 ps 0.75 # --- blue
and subsequently plot the line with the following:
plot file1 using 1:2 title 'Test Line CDF' with linespoints ls 1
This all works fine, the problem seems to be that my CDF file is pretty big (about 250 rows) and Gnuplot would plot the marker/point (a circle in this case) for every data point. This results in a very "dense" line because of the over-concentration of markers such that the underlying line is almost not visible as I show in an example image below:
How can I selectively draw the markers so that instead of having them on all data points, I plot them after every 50 data points, without having to decrease the number of data points (which I believe is what "every n" in the plot command would do) in my data file or decrease the marker size?
There is no need to use two plots commands, just use the pointinterval option:
plot 'data' pointinterval 5 with linespoints
That plots every line segment, but only every fifth point symbol.
The big advantage is, that you can control the behaviour with set style line:
set style line 1 lc rgb 'blue' lt 1 lw 2 pt 7 ps 0.75 pi 5
plot 'data' w lp ls 1
You can plot the same function twice, once with lines only, and then with points every n points. This will draw less points without decreasing the amount of segments. I think this is what you want to achieve. For this example I have done set table "data" ; plot sin(x) to generate numerical sampling of the sin(x) function.
What you have at the moment is:
plot "data" with linespoints pt 7
which gives
Now you can do the following:
plot "data" with lines, "data" every 10 with points pt 7 lc 1
which gives what you want:
You can change the styling to meet your needs.
Although #Miguel beat me to it, but I'm also posting my solution below:
The idea is to once draw the line and then draw the points with the "every n" specifier. I changed my own Gnuplot script in the following manner. A kind of hack but works:
set style line 1 lc rgb 'blue' lt 1 lw 2 pt 7 ps 0 # --- blue
plot file1 using 1:2 title '' with linespoints ls 1, "" using 1:2 every 20 title 'Test Line CDF' with points ls 1 ps 0.75
This retains the nice curve, without quantizing it too coarsely while also keeping the points much better spaced.

Related Links

Gnuplot sparse matrix display
Gnuplot lines overlap with tics
how to plot data which has mostly true values in gnuplot?
GNUplot concatenate 2 macros in an xlabel
Determine min and max in gnuplot
Plot cyclic sum of some row data
How to count the number of indices in a Gnuplot input file
GNU Plot how to plot histogram in timeseries
Create groups of dots histogram with gnuplot
Gnuplot: Missing values on second y-axis
Gnuplot fat lines overlap with axis
Using relative paths in gnuplot plot files
increment of ytics in gnuplot
gnuplot: Plot and fit 2d function with two variables
Gnuplot: Plotting a path over a surface
How to mark 90 percentile in gnuplot

Categories

HOME
machine-learning
git
firebase-authentication
data-warehouse
knn
properties
junit
veins
angular-material2
accounting
appium
uwp-xaml
amazon-redshift
geogebra
android-gradle
aurelia-router
ieee
restcomm
filenet-p8
bit-manipulation
eventtrigger
netbeans-7.3
libcurl
bind
firebase-cloud-messaging
xmlstarlet
boto
xbuild
autoload
graphic
x509
sequences
responsive-filemanager
rrd4j
leanft
smtpclient
moa
inline
fluent-nhibernate
mapped-drive
trace
sw-precache
paypal-adaptive-payments
enterprise-library-6
lsof
evosuite
tableau-public
react-d3
run-configuration
prime-factoring
kubernetes-health-check
r.js
cpio
jake
video-recording
post-commit
agile-project-management
virtual-directory
giflib
yahoo-messenger
highcharts-ng
zend-studio
ios9.3
qubole
gstat
smslib
qmediaplayer
microsoft.mshtml
zipcode
voog
image-manipulation
facade
raii
factoring
graphael
stockquotes
resourcedictionary
resharper-7.1
yepnope
jpreloader
converters
objectiveflickr
springmockito
primefaces-extensions
dynamic-content
cgpoint
eda
context-sensitive-help
jquery-ui-plugins
codehighlighter

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App