Indesign: Using and styling tables for matrices

Often in design projects we’re asked to create matrices, or data tables, to compare entries in an easily readable format.

Indesign: Using and styling tables for matrices
Shawn Wernig
June 19, 2024
by Shawn Wernig

Often in design projects we’re asked to create matrices, or data tables, to compare entries in an easily readable format. There are quite a few ways to successfully achieve this, but I’d like to share with you the table method, and hopefully convert those of you who custom-build your matrices with complex arrangements of graphic elements. Having your matrices inside a table is not only semantic, it allows you greater flexibility when it comes to style changes, and saves tonnes of time in data entry – especially if you work with others on a project who may need to edit, shuffle, or add to your matrix. Also, as a little side note, they will most likely come out neater and more accurate than any other method, which for me is a must!

For this example, let’s create the dining matrix above. We’re going to compare a list of 5 popular (yet made up!) restaurants, much like you would in a visitor’s guide or something similar, and compare some important statistics amongst them.

  1. Planning

    First, let’s plan. Decide on the data points you want to include in your matrix – proper planning can streamline this process quite a bit, so always start off on paper. For this example, I settled on 10 columns of information, 5 restaurants, and 1 row for headings.

    We will now create a text box the same dimensions as your final matrix, and insert a new table. Table -> Insert Table Fill in the details, for this example we will need 10 columns, 5 rows, and one header row.


    Will get us this:


    You will be left with a very plain table. From this point I like to loosely arrange my columns into their final configuration, and begin inserting my data. In this way we focus on displaying the content of the table right from the start, so we’re not confronted with any layout challenges later on.

    *Tip: You can set the dimensions of multiple columns by selecting them, and inserting a value into your column width field, shown here.


    For this example, I want the check columns to be the same width – 0.25”.

    In this process some headings have become overset, we will be fixing it later.

  2. Laying the framework – Styling

    The next step is to begin styling our table. How I approach this is to start out broadly, and work our way down to styling the finer details – much like bringing a picture into focus. Begin by creating a new table style, and applying it to the matrix, remove most of the formatting, such as row and column strokes and fills (if any).


    Next, let’s assign an alternating fill patter under the Fills tab like above. For this example, an Alternating pattern would look nice, so I have selected Every Other Row, and I had pre-made two gradients, which I selected for each respectively. Please note that header rows are exempt from this, and we will have to assign a special Cell style for them. Below is our table currently, so Let’s do that next.

  3. Styling the Header row

    Create a new Cell style, and Call it Header – Default, as this will be our baseline style for the header row. Under Text, I like to add a few points of padding to each cell, and I will align the text to the bottom, you will see why in a second.


    Next, I’ll give it a fill of Blue, and remove any stroke that my be inherently in the default style.


    At this time, we’ll notice that my matrix has a dark blue background and black text – obviously a bad start, so lets make a new paragraph style for our headings, and make them bold, and white. Let’s then assign that style to our Heading – Default cell style in the field: General -> Paragraph Styles
    Next, in your table style for this matrix, assign your new Header – Default style to the header rows field in: General -> Cell Styles


    Below is our table with the new header styling. Looking better! Now we just have to figure out how to handle that overset text in the small columns.

  4. Vertically set text in the header

    Let’s duplicate our Header – Default style, and call the newly created Cell Style Header – Vertical. We need to rotate this text, so under Text -> Text Rotation give it a value of 270 degrees, and set the Vertical Justification to center.


    Now, we just have to assign that style to the desired column headings, and expand the height of the header row to fit, see below.


    **Tip: The reason why we assigned our Header – Default style to align the text to the bottom, is so that our headings, well… align at the bottom!

  5. To stroke or not to stroke (hehe)

    Our headings are looking pretty good! Let’s take it a small step further and figure out this border situation. Let’s remove them by creating a new Cell Style, and lets call it Cell – Default. Let’s give it some padding, and set the Vertical Justification to middle, on Strokes and Fills
    ensure that all four edges are highlighted, and remove any stroke that may be applied.


    Next, in our Table Style, assign our Cell – Default style to the field: General -> Body Rows


    Our matrix should now look something like:

  6. Adding the vertical strokes

    Lastly, let us ad some strokes to the check list columns, to help the eye traverse them. to do this, we need to adjust our Header – Vertical style to have white strokes on the left and right. To do this, open up the cell style, and under strokes and fills, ensure that you have only the left and right stroke highlighted, and create a 1pt white solid stroke.


    Next, we will need to duplicate our Cell – Default style, and rename it Cell – Vertical. Do the same steps as above to set a 1pt white solid stroke on the left and right, and assing that style to their columns. Our table now looks like this:

  7. Final touches

    To finish up the matrix, let’s just add another white stroke to the bottom of each table row. Select your Cell – Default style, and give it a 1pt white solid stroke on the bottom. Notice how your Cell – Vertical style picks up on the stroke change from the Default style? How nice!


    We’re now complete. Hopefully you can find a bunch of uses for this super-handy way of putting together matrices!

Eggplant Studios - Custom Website Design and Development
Creating custom web solutions and happy clients since 2002
Eggplant Studios