I've had a look at the attached answer Automatic table row numbers but I'm not sure how to apply it to pgfplotstable. I'd like to get automatic rownumbers on my table so I can apply formatting by row index. (for subtotals and the like).

I have over 100 rows so its hard to scan visually and know the row number, and the columns aren't named so something like

\pgfplotstableset{create on use/new/.style={create col/set={\thisrow{columns={0}}}}}

followed by a


doesnt work and gives me an error. Is there an easy way to get automatic row numbers in a pgfplotstable?

2 Answers 2


You could use the key every first column to display the counter value at the start of column 1:

enter image description here


  • As you can see, I don't have much experience with pgfplotstable, hence the bad formatting. Will come back and fix the columns later.



    Column A, Column B, Column C
       99, 98, 96
       88, 87, 84

\pgfplotstableread[col sep=comma]{sample.csv}\MySampleData


    every first column/.style={column type/.add={>{\makebox[3em][l]{\arabic{MyCount}\stepcounter{MyCount}~}}}{} }

  • thanks @PeterGrill. I had half hoped there would be something that used some of the pgfplotstable native functionality. Add a column before and fill using \pgfplotstablerows or something. But this does the job just as well. Commented Oct 5, 2012 at 0:35
  • @TahnoonPasha: There might well be. As I mentioned I have just started learning pgfplotstable, so perhaps a better answer will come along. If I come across it I will post it here. Commented Oct 5, 2012 at 0:37

You can use the key create col/expr accum:

\pgfplotstableset{create on use/new/.style
  = {create col/expr accum={\pgfmathaccuma+1}{0}}}
  3 7 2 7 8 1 6 3
  7 3 0 2 3 7 2 5
  1 6 3 7 4 9 7 2
  4 8 2 9 6 3 5 2

  • 4
    Nice! You could simplify this a little bit by using the fact that the current row number is available in the \pgfplotstablerow macro, so you could say: create col/expr={\pgfplotstablerow+1}
    – Jake
    Commented Jun 13, 2013 at 18:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .