Writing Stack Exchange is a question and answer site for the craft of professional writing, including fiction, non-fiction, technical, scholarly, and commercial writing. It only takes a minute to sign up.

When I plot my own novels or analyze other works to understand their structure, I like to visualize the dynamic of the storyline(s) in a diagram.

Usually I draw this by hand. A first version of such a narrative chart might look like this one (which shows part of the plot for Mary E. Pearson's Remnant Chronicles, that I have been reading during my research on YA romantic fantasy):

The problem with drawing the plot structure by hand is that I'll have to redraw the whole chart whenever I make more than a minor change. That's not much of a problem if I only do it for my own plot (because then I only do about one chart every few months, and taking an afternoon to come up with the right plot structure is fun), but when I draw them in the course of analyzing books that I read, redrawing the whole diagram for each change becomes somewhat cumbersome.

I'm therefore looking for a software that allows me to easily (!!!) draw and change storyline diagrams like this one (which was created using the screenwriting software DramaQueen and shows the plot of the fairy tale "Hansel and Gretel"):

I don't want to use DramaQueen to draw these kinds of charts, though, because DramaQueen costs 297 Euros and I don't need its other features, and because I cannot label (and drag?) the points in the chart.

I know I can draw any kind of diagram I want in software like Adobe Illustrator, but creating (and changing) a storyline chart in a graphic software like that is even more complicated than redrawing the chart by hand.

What I am looking for is software that allows me to:

set points with a mouse click (or by entering coordinates)

connect points with a line automatically (like the pen tool in Photoshop) or with a few mouse clicks (like the connecting arrows in diagrams in PowerPoint or Word)

add a text box or label (with descriptive text) to a plot point

change the storyline by dragging plot points

text labels and connecting lines move with the plot point when it is dragged

(chose line width, color, point size, ...; not a must)

export as graphic (JPEG, PNG) or markup (HTML, SVG)

The software doesn't have to be specialized for writing or plotting, and may have more features (that I don't need), but it must not be expensive and must be easier to use than drawing by hand. I'm on a Mac, but for your answer, platform does not matter.

8 Answers
8

It's a free tool that allows you to create flowcharts. I'm currently using it to create part of my D&D campaign.

You can easily create for example a box/star/... in different colors and add a text as a description. The text can be adapted in the usual ways: bigger, different color, ...

Different boxes can be easily connected with each other. Simply click on one box and drag the arrow to the next box. You can also change where exactly the arrows start in the box, though the standard is that the arrow goes from the center of the first box to the center of the second box, which is quite useful in most cases. The arrows can be changed, too: dotted line, no arrow head on either/one side, thicker line, ...

The arrows will follow the boxes they are connected to wherever you drag them on the screen so that you can easily adapt your storyline.

The software is available for Windows, Linux, and Mac, and there is also a browser based version: yEd live

Secespitus' answer and ChrisW's suggestion to look for flowchart software brought me to this Q&A and the desktop version of draw.io.

I quickly installed that software and tried to recreate the handdrawn chart from my question. It took me about half an hour to draw and label the first five points from that chart:

Last night it took me half an hour to draw the whole first draft of the chart (which is twice the depicted size), but then this was my first half hour in draw.io, and if you consider that I was completely unfamiliar with the software and had never used any other flowchart software before, you can see how easy and straightforward that software is to use. Also, I'll certainly work faster as I become more familiar with the software, and once I start making changes to the chart (instead of redrawing all of it by hand) the initial investment of more time to create the first version of a graph will likely pay off.

There is a danger, of course, when you work with flowchart software of any kind, and that is the danger of trying to beautify your chart. When you draw by hand, you'll probably be happy with a rough sketch, but when you create any kind of graphic in any kind of software, you may be tempted to waste much time on fiddling with colors, shapes, sizes, positioning, and word choice. It happened to me, and about half of the time it took me to create this small chart was taken up with moving the labels around to make the layout look better.

After this quick trial, the relative slowness of creating the first version of the chart is almost putting me off. As you can see, I didn't finish the plot chart, because I didn't enjoy the process. Pen and paper is infinitely more intuitive and easy for me, and I'm not sure I really want to select a dashed line from an option menu instead of simply drawing the dashes. If I use the software more and change my opinion (and workflow), I'll update this answer.

Draw.io is available for Windows, Mac, Linux, and online. Draw.io is open source and all versions are free.

I installed yEd as well (see the answer by Secespitus for more details) and recreated the same part of my original plot chart:

It took me about the same time, and the handling of both softwares was very similar. They do have some differences, but none that I found clearly favoured one application over the other (for the current purpose and after such a short trial).

You do not mention an operating system , so I will give you something cross-platform (and free).

As @ChrisW pointed out "the diagram in the OP could be written as a tree of text". So, I am going to suggest something which does not use the mouse - does not even have a GUI, but which I think fits your requirements.

For decades now, I have been using GraphViz which is stable, widely used and well supported.

You use text to describe your diagram & GraphViz lays it out for you.

Thus, this:

graph {
a -- b;
b -- c;
a -- c;
d -- c;
e -- c;
e -- a;
}

Generates this:

There are dozens of excellent examples in the image gallery, take a look and see if any of them fit what you want.

Now, let's see how well it fits your needs:

set points with a mouse click (or by entering coordinates); should not be necessary, as auto-layout should handle it (you can specify position by using the pos attribute, but that rather spoils auto-layout).

connect points with a line automatically (like the pen tool in Photoshop) or with a few mouse clicks (like the connecting arrows in diagrams in PowerPoint or Word); done automagically by GraphViz

add a text box or label (with descriptive text) to a plot point; yes

change the storyline by dragging plot points; yes, but by changing the textual description

text labels and connecting lines move with the plot point when it is dragged; yes

Good answer. As an aside: the OP specified "I'm on a Mac, but for your answer, platform does not matter."
– SecespitusMar 27 '18 at 14:15

Oops I missed that about the Mac. I have used GraphViz for many different kinds of diagrams, but never this. Still, it excels at showing connectivity and dependency, so I would love to see a working example.
– MawgMar 27 '18 at 15:06

Thank you, @Mawg. If you know how to do it, could you provide example code for a text label that sits outside the node point (like in the example in my answer)?
– user29032Mar 27 '18 at 18:06

lol, nice attempt to read my handwriting (and a foreign language, I assume). I edited your answer to supply the English version of my scrawls.
– user29032Mar 27 '18 at 11:00

@Cloudchaser For your idea about using the text based representation to form a graph: I've found GraphML, which lets you do this. You might want to have a look at this primer, though it looks like a lot more work than simply using a drag-and-drop editor like yEd or draw.io
– SecespitusMar 27 '18 at 11:10

A great free tool that might be a better experience than your answer is LibreOffice Draw. It's free, they support iOS, and it's very intuitive to use for simple to complex diagrams. It's basically the open-source version of Microsoft Visio, which is widely used in the business world for things like this. You could also pay for Visio, but its price tag probably won't appeal to you.

For a small fee ($5/month, might vary in your region) you can also get Office 365, which includes a huge suite of very useful software. Two programs in particular might help you if Draw isn't your thing: PowerPoint and OneNote

PowerPoint is the old familiar standby, easy to use, lots of built-in shapes and text options, diagram tools, etc. It's a little better at handling text than Draw is, so it could be worth a look if you plan to use lengthy descriptions.

OneNote is one of my favorite office programs and might suit you if you like a more hand-drawn feel. It's set up like a notebook, with different sections and pages that expand as-needed, so you can organize your notes very easily. You can also literally draw on it if you use a touchscreen, or even just with a mouse, so you can keep your dashed lines and custom shapes. Things you draw get converted into objects, so you can select and drag them around, erase bits of them, etc. It also supports super-easy hyperlinking and text/image insertion, if you want to reference external sources or add visuals. I can't recommend this one enough for just general use if you like taking notes, especially if you use a touchscreen and stylus.

Interesting. I had looked at Scapple when it was freshly released, but found no use for the mindmapping it appeared to be intended for. But now that I look at that demonstration video with the idea of creating plot structure charts, Scapple indeed does that, and its workflow appears inuitive and effortless. What might be more difficult, though, is creating the kind of subway-line graphic I show in my own answer, with plotpoints and text labels outside of the points. yEd and draw.io allow me to do is, although it is a bit cumbersome and inflexible. I'll have to see if Scapple is better at that.
– user29032Mar 31 '18 at 10:08

@Cloudchaser Though I have not use it, I'm sure from the video it can do what you mention. You can group text (as shown) to a plot "point," and at least that point could be an image file (as shown), but may be able to be drawn itself (or even a single "space" of text with a background image of a circle set, if perchance their had to be text on a node). But I agree it is not clear if a in software drawn graphic (like a point) can be a node itself or not.
– ScottSMar 31 '18 at 16:20

I know this doesn't answer exactly what OP asked.... but in the spirit of your appreciation for doing charts by hand, i'll offer this solution:
Using a bulletin board or piece of some sort of heavy paper as a substrate (or even a wall), cut out and use smaller pieces of paper as your "balloons" and connecting lines, simply attach these (tack or tape or...) these to the board. Easy to change and to reorganize, and, if you want to save digitally, snap a pic and keep a folder of images that can be referenced and printed out at a later date.