# Labeling a grid

I have

m = {{0, -1, -2, -3, -4}, {1, 0, -1, -2, -3}, {2, 1, 0, -1, -2}, {3,
2, 1, 0, -1}, {4, 3, 2, 1, 0}};


And a grid Grid[m,Frame->All]

I would like to label the grid such that every column has a number above it and every row has a number to its side. This is what I've currently managed to do.

Labeled[Grid[m,Frame->All],{Y:{1,5},X:{1,5}},{Left,Top}]


How can I label the grid appropriately?

-
I highly recomment this answer by Mike Honeychurch but if you do not need such interface take a look at Headings option for TableForm. You can allways add such heading as a new column and row, then you have to read adding columns/rows. – Kuba May 2 '14 at 8:32

Perhaps what you want:

m = Array[Subtract, {5, 5}, 0];
r = Range @ 5;

Grid[
ArrayFlatten[{{"", {r}}, {{r}\[Transpose], m}}],
Frame -> All
]


-
Exactly what I was looking for. +1 For simplicity. – pyler May 2 '14 at 10:19

You could use TableForm, e.g.

col = CharacterRange["A", "E"];
row = CharacterRange["a", "e"];

A way using Grid:
Grid[{PadLeft[col, 6, ""]}~Join~