3

I want to represent numbers in a table I've created in InDesign as a scaled bar chart, similarly to the image below. Is there a way to do this in InDesign or Illustrator without manually adding and sizing rectangles for each cell? What about replacing the numbers with glyphs to represent scale?

Table with bar chart

  • 1
    Just to be clear.... you know that Illustrator has a Graph tool, which makes bar charts, right? And for some reason you're saying that's insufficient for your needs? – Lauren Ipsum Feb 8 '17 at 11:16
  • @LaurenIpsum: I don't believe I said anywhere in my question that it was insufficient for my needs--in fact, I asked it as part of my question. The reason I am hesitant to use it is because I would like to have only one bar per cell in an InDesign table. Is that possible with Illustrator's Graph tool? – Andrew Carnes Feb 8 '17 at 14:26
  • You can't automate this inside multiple table cells, unless maybe if you go into scripting. You might just stick to manually scaling a square-shaped glyph horizontally, but that would be tricky and won't save much time. Why does it have to be inside the table? That's unusual and/or made to be complicated. Post your full page here and maybe we'll have another suggestion. – Lucian Feb 8 '17 at 14:34
  • @Lucian -- I need it to be within the table because it's part of a larger table with other data. I unfortunately can't post the full thing here because I've signed an NDA with my employer and that info is proprietary. Since I'm on a tight deadline, I ended up just creating a bar chart in Illustrator, removing the axes and aligning it over the cells in my InDesign table. Appreciate the suggestions; would love to learn how to do this in a less quick-and-dirty fashion. – Andrew Carnes Feb 8 '17 at 17:05
  • 1
    I'm trying to clarify your situation without asking you to violate your NDA. So you have a table of text. And you have this chart. And you want each of the bars of the chart to be in one table cell? Why would that be useful? Why wouldn't you just create a graph as a single image and drop it into one cell? I'm struggling to understand the problem you're trying to solve, and why having a regular graph won't work. – Lauren Ipsum Feb 8 '17 at 18:01
8

The cool way

There's a font for this called FF Chartwell (no affiliation), which I have personally used for different annual reports and white papers. All the data is editable as numbers via the Story editor in InDesign, as the presentation video shows.

Each of the styles below sells as a separate font for about 20$. What you probably need is the 'FF Chartwell Bars Vertical' seen in the first graph below.

FF Chartwell

If you must construct this chart inside the table

I would use the black square character found in Arial. Any other font would work if it includes a square-looking glyph. I would insert this in each cell and construct the bars by scaling and positioning this inside the cell. With the proper settings it could be perfectly aligned inside each cell, then size it by doing some simple math.

You could extend the 100% value to 1000% horizontal scaling, then multiply with 0.94 for the 94% value and so on. This way you are not linking external files, not using anchored objects or overlays, and the bars will stay in place whatever other edits you do to the table.

chart inside table

  • 1
    FF Chartwell is a pretty incredible font. It's pretty amazing they are able to work that type of information into a font file. – GoofyMonkey Feb 7 '17 at 22:01
  • 1
    Thanks! This was something I came across and I am definitely considering. I'm also hoping there's a way to do this without asking my boss to break out the credit card for another font. – Andrew Carnes Feb 8 '17 at 14:31
  • I edited my answer and added an alternative without the need for AI files or special fonts. Just use Arial and play with a square glyph. – Lucian Feb 8 '17 at 21:05
3

Imho, I would use Illustrator graph tool.
Now, let's have some fun and bring some magic into INDD using GREP.

The idea is to create character styles that would apply a strike-through to space after a given number. In the example below, I used 5 to 5 steps:

Then use Grep styles in your paragraph style in order to catch the space, in regard of the given number.

enter image description here

Finally, type any number from 0 to 100, press tab and space bar and enjoy the magic...

enter image description here

Edit
@Jooja suggestion to combine Grep style gives better accuracy, using a combined GREP style for dozens, then units. With about 20 styles + 20 grep, you can get every number from 0 to 100:
enter image description here

Decimal numbers could also be set up with advanced Grep. I.e: (?<=^2\d\t)\s|(?<=^2\d\.\d\t)\s

Result:
result

  • This seems interesting, but not sure i can follow. How can you control a space stretches to exactly 77% for a 77% value? Do you need 100 character styles for each value or am i missing something? – Lucian Feb 13 '17 at 10:25
  • As I said, I used 5 to 5 steps, meaning "only" 25 char styles. In a perfect world, 100 styles would be needed, well 101 in fact, including zero. Honestly, I wouldn't go that way (I'd use AI graph tool). This is just an illustration on how powerful Grep are, and how you can tweak them with a little creativity. – Vinny Feb 13 '17 at 10:34
  • Its neat but not very practical, since many times these graphs need to be accurate and working with 100 styles for each value is so-so. Also, percentages are not always the unit, sometimes its millions, etc which makes this harder to follow in some cases. But still I agree this is a good workaround. – Lucian Feb 13 '17 at 10:54
  • @Vinny couldnt you make use of some pattern with say 4 spaces then you could combine a few styles for many more combination than styles. – joojaa Feb 13 '17 at 10:55
  • 1
    Imagine characters you can scale separately so with 2 styles you get 3 different combinations etc. For example say you have 2 spaces you can modify and styles for 50%, 12.5%, 20% and 0% then you can get following combinations with 4 styles: 12.5, 20, 50, 25, 32.5, 62.5, 40, 70, 100 with just 4 styles. With 4 spaces and 4 styles you get even more 24 values in fact. – joojaa Feb 13 '17 at 11:36
2

I apologize ahead of time, because this answer seems simple enough that you may have already decided it wouldn't work for your situation. But, I know that I often over-complicate things and need someone to point out an obvious solution, so I thought I would post this anyway.

You could just create a table with 41 columns, with the numbers in the leftmost column and 40 cells. Fill the entire table with green, and set thick green row strokes. Add your numbers to the left column and then fill the applicable number of cells to the right of each number with blue. I chose 40 columns so that I could fill 10 cells in the row labeled 70. While creating the table, I had an additional row at the top with an asterisk character in every fifth column to make the counting easier. I deleted this row when I was done filling the cells with blue. You will probably have to tweak some of the default cell margins to create a table as narrow as your example.

enter image description here

I saw in your comment that you were hoping to have one bar per cell, and this doesn't seem to fit that criteria, but otherwise it might work for you.

  • 1
    Not very effective to construct this way. Way too many cells. – Lucian Feb 8 '17 at 21:10
  • 1
    I agree. I think that your suggestion to resize a glyph would be better assuming the OP can manage to adjust the scale to work. However, in my defense, I have used my solution a number of times when I was in a pinch, and it works pretty well. Not the prettiest or most elegant, but it definitely works, and doesn't require a separate program, purchasing a font or anchoring an image inside a table, which can be problematic. – magerber Feb 8 '17 at 21:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.