Here's how I would do it using combination of MapThread and Map.
a = {{1, 2, 3, 0, 0, 0, 0, 0, 0}, {1, 2, 3, 0, 0, 1, 0, 0, 0}, {1, 2,
3, 0, 0, 2, 0, 0, 0}, {1, 2, 3, 0, 0, 0, 0, 0, 1}};
Assuming step is say 0.1, we will generate list of x-co-ordinates
step = 0.1;
xlist = step*Range[4, Length[a[[1]]]];
Now using MapThread and Map, we can generate pairs.
pairs = Flatten[MapThread[{#1, #2} &, {xlist, #[[4 ;;]]}] & /@ a, 1]
This will generate output
{{0.4, 0}, {0.5, 0}, {0.6, 0}, {0.7, 0}, {0.8, 0}, {0.9, 0}, {0.4,
0}, {0.5, 0}, {0.6, 1}, {0.7, 0}, {0.8, 0}, {0.9, 0}, {0.4,
0}, {0.5, 0}, {0.6, 2}, {0.7, 0}, {0.8, 0}, {0.9, 0}, {0.4,
0}, {0.5, 0}, {0.6, 0}, {0.7, 0}, {0.8, 0}, {0.9, 1}}
which you can use as input to ListPlot
ListPlot[pairs, PlotStyle -> Directive[PointSize[Large]]]
Hope this is helpful.
One advantage of MapThread is it could be easily generalized to include more lists (say if you want to plot points in 3D).
a
. I think you're trying to doListPlot[a[All,4;;]]
? $\endgroup$ListPlot[Drop[a, None, 3]]
. $\endgroup$DataRange -> step {4, Length[a[[1]]]}
to evanb's comment $\endgroup$