Another way:
using Plots; gr()
# Define grid
Nx, Ny = 12, 6 # number of grid cells
x1, x2 = 0, 240 # xgrid limits
y1, y2 = 0, 120 # ygrid limits
x, y = LinRange(x1,x2,Nx+1), LinRange(y1,y2,Ny+1)
dx, dy = (x2-x1)/Nx, (y2-y1)/Ny
# Plot grid
p = plot(legend=false,xlim=(x1,x2),ylim=(y1,y2),ratio=1,grid=false)
xi, yi = x1 .+ zeros(Nx+1), y1 .+ zeros(Ny+1)
[ plot!(p, fill(x[i],Ny+1), y, lc=:gray, lw=0.2) for i in 1:Nx+1 ];
[ plot!(p, x, fill(y[i],Nx+1), lc=:gray, lw=0.2) for i in 1:Ny+1 ];
# Annotate np points with coords (xr,yr) and draw connecting lines:
np = 7
xr, yr = x[rand(1:Nx,np)] .+ dx/2, y[rand(1:Ny,np)] .+ dy/2
labels = string.(1:np)
plot!(xr,yr, marker=2.)
[annotate!(xr[i], yr[i] + (y2-y1)/20, text(labels[i],7)) for i in 1:np];
plot(p, title="Grid plot", axis=nothing, framestyle=:none)

Or showing the axes:
plot(p, title="Grid plot", xticks=x1:dx*2:x2, yticks=y1:dy*2:y2, framestyle=:box)
