There are several options for setting a point / point:
1. set object
If you have simple points, such as a circle, circle wedge, or square, you can use the set object , which must be defined before the corresponding plot command:
set object circle at first -5,5 radius char 0.5 \ fillstyle empty border lc rgb '#aa1100' lw 2 set object circle at graph 0.5,0.9 radius char 1 arc [0:-90] \ fillcolor rgb 'red' fillstyle solid noborder set object rectangle at screen 0.6, 0.2 size char 1, char 0.6 \ fillcolor rgb 'blue' fillstyle solid border lt 2 lw 2 plot x
To add a label, you need to use set label .
This can be cumbersome, but it has the advantage that you can use different colors of lines and fills, and you can use different coordinate systems ( first , graph , screen , etc.).
Result from 4.6.4:

2. Set a blank label with a point option
The set label command has a point parameter that can be used to set a point using existing point types at a specific coordinate:
set label at xPos, yPos, zPos "" point pointtype 7 pointsize 2
3. plot with '+'
The last possibility is to use a special file name + , which generates a set of coordinates, which are then filtered and constructed using the labels (or points , style if no labels are requested:
f(x) = x**2 x1 = 2 set xrange[-5:5] set style line 1 pointtype 7 linecolor rgb '#22aa22' pointsize 2 plot f(x), \ '+' using ($0 == 0 ? x1 : NaN):(f(x1)):(sprintf('f(%.1f)', x1)) \ with labels offset char 1,-0.2 left textcolor rgb 'blue' \ point linestyle 1 notitle
$0 , or equivalently column(0) , is the coordinate index. In the using statement, only the first is accepted as valid, all others are skipped (using NaN ).
Note that using + requires the installation of a fixed xrange .
This has advantages (or disadvantages?):
- You can use regular
pointtype . - You can use only axis values ββas coordinates (for example,
first or second for objects above). - It may be difficult to place different types of points.
- He more actively uses different colors of borders and fills.
Result:
