Plots Story

 admin

Plot y versus x as lines and/or markers.

Find out in this short video lesson which covers the standard elements of plot (exposition, rising action, climax, falling action, conclusion). The exposition is the introduction to a story, including the primary characters' names, setting, mood, and time. The conflict is the primary problem that drives the plot of the story, often a main goal for the protagonist to achieve or overcome.

Story Plots Examples

Call signatures:

The coordinates of the points or line nodes are given by x, y.

The optional parameter fmt is a convenient way for defining basicformatting like color, marker and linestyle. It's a shortcut stringnotation described in the Notes section below.

You can use Line2D properties as keyword arguments for morecontrol on the appearance. Line properties and fmt can be mixed.The following two calls yield identical results:

When conflicting with fmt, keyword arguments take precedence.

Story plots fantasy

Plotting labelled data

There's a convenient way for plotting objects with labelled data (i.e.data that can be accessed by index obj['y']). Instead of givingthe data in x and y, you can provide the object in the dataparameter and just give the labels for x and y:

All indexable objects are supported. This could e.g. be a dict, apandas.DataFame or a structured numpy array.

Plotting multiple sets of data

There are various ways to plot multiple sets of data.

  • The most straight forward way is just to call plot multiple times.Example:

  • Alternatively, if your data is already a 2d array, you can pass itdirectly to x, y. A separate data set will be drawn for everycolumn.

    Example: an array a where the first column represents the xvalues and the other columns are the y columns:

  • The third way is to specify multiple sets of [x], y, [fmt]groups:

    In this case, any additional keyword argument applies to alldatasets. Also this syntax cannot be combined with the dataparameter.

By default, each line is assigned a different style specified by a'style cycle'. The fmt and line property parameters are onlynecessary if you want explicit deviations from these defaults.Alternatively, you can also change the style cycle usingrcParams['axes.prop_cycle'] (default: cycler('color', ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'])).

Parameters:
x, yarray-like or scalar

The horizontal / vertical coordinates of the data points.x values are optional and default to range(len(y)).

Commonly, these parameters are 1D arrays.

They can also be scalars, or two-dimensional (in that case, thecolumns represent separate data sets).

These arguments cannot be passed as keywords.

fmtstr, optional

A format string, e.g. 'ro' for red circles. See the Notessection for a full description of the format strings.

Format strings are just an abbreviation for quickly settingbasic line properties. All of these and more can also becontrolled by keyword arguments.

This argument cannot be passed as keyword.

dataindexable object, optional

An object with labelled data. If given, provide the label names toplot in x and y.

Note

Technically there's a slight ambiguity in calls where thesecond label is a valid fmt. plot('n','o',data=obj)could be plt(x,y) or plt(y,fmt). In such cases,the former interpretation is chosen, but a warning is issued.You may suppress the warning by adding an empty format stringplot('n','o',',data=obj).

Returns:
lines

A list of Line2D objects representing the plotted data.

Other Parameters:
scalex, scaleybool, optional, default: True

These parameters determined if the view limits are adapted tothe data limits. The values are passed on to autoscale_view.

**kwargsLine2D properties, optional

kwargs are used to specify properties like a line label (forauto legends), linewidth, antialiasing, marker face color.Example:

If you make multiple lines with one plot command, the kwargsapply to all those lines.

Here is a list of available Line2D properties:

PropertyDescription
agg_filtera filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
alphafloat or None
animatedbool
antialiased or aabool
clip_boxBbox
clip_onbool
clip_pathPatch or (Path, Transform) or None
color or ccolor
containscallable
dash_capstyle{'butt', 'round', 'projecting'}
dash_joinstyle{'miter', 'round', 'bevel'}
dashessequence of floats (on/off ink in points) or (None, None)
data(2, N) array or two 1D arrays
drawstyle or ds{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, default: 'default'
figureFigure
fillstyle{'full', 'left', 'right', 'bottom', 'top', 'none'}
gidstr
in_layoutbool
labelobject
linestyle or ls{'-', '--', '-.', ':', ', (offset, on-off-seq), ...}
linewidth or lwfloat
markermarker style
markeredgecolor or meccolor
markeredgewidth or mewfloat
markerfacecolor or mfccolor
markerfacecoloralt or mfcaltcolor
markersize or msfloat
markeveryNone or int or (int, int) or slice or List[int] or float or (float, float)
path_effectsAbstractPathEffect
pickerfloat or callable[[Artist, Event], Tuple[bool, dict]]
pickradiusfloat
rasterizedbool or None
sketch_params(scale: float, length: float, randomness: float)
snapbool or None
solid_capstyle{'butt', 'round', 'projecting'}
solid_joinstyle{'miter', 'round', 'bevel'}
transformmatplotlib.transforms.Transform
urlstr
visiblebool
xdata1D array
ydata1D array
zorderfloat

See also

scatter
XY scatter plot with markers of varying size and/or color ( sometimes also called bubble chart).

Notes

Format Strings

A format string consists of a part for color, marker and line:

Each of them is optional. If not provided, the value from the stylecycle is used. Exception: If line is given, but no marker,the data will be a line without markers.

Plots For A Story

Other combinations such as [color][marker][line] are alsosupported, but note that their parsing may be ambiguous.

Markers

characterdescription
'.'point marker
','pixel marker
'o'circle marker
'v'triangle_down marker
'^'triangle_up marker
'<'triangle_left marker
'>'triangle_right marker
'1'tri_down marker
'2'tri_up marker
'3'tri_left marker
'4'tri_right marker
's'square marker
'p'pentagon marker
'*'star marker
'h'hexagon1 marker
'H'hexagon2 marker
'+'plus marker
'x'x marker
'D'diamond marker
'd'thin_diamond marker
' 'vline marker
'_'hline marker
Story

Line Styles

characterdescription
'-'solid line style
'--'dashed line style
'-.'dash-dot line style
':'dotted line style

Example format strings:

Colors

The supported color abbreviations are the single letter codes

charactercolor
'b'blue
'g'green
'r'red
'c'cyan
'm'magenta
'y'yellow
'k'black
'w'white

and the 'CN' colors that index into the default property cycle.

If the color is the only part of the format string, you canadditionally use any matplotlib.colors spec, e.g. full names('green') or hex strings ('#008000').

It really isn't too hard to come up with a plot for a story. There are ideas everywhere you look. As Michael Banks explains ideas are 'free...and easy.' He says, 'Just about anything we see, hear, read, or experience can spark an idea.'

The main events that make up short stories and novels are called the plot. It would be difficult to have an interesting story about characters that are just standing around. There has to be something to motivate them, some problem for them to solve or some obstacle for them to overcome. Many authors argue that great stories and novels are character driven. Alex Keegan has an interesting perspective on this in his plotting article. He uses an analogy where he is the general and his character Jack is the platoon leader.

If you have some great characters that you are fond of but you are having trouble thinking of an adventure or situation to put them than a plot generator might help. Plot generators will randomly generate many plot ideas for you. You can use them by modifying them to make them unique so the plot can work with your characters. A plot generator may also help you to start thinking creatively again.

Plot Generators List

  • Plot-Generator.org.uk - This plot generator features plots for short stories, plot twists, fairytales and more. Use the Story Ideas option if you want a quick random story idea. Some of the other options have more involved forms. You can fill the form with random ideas to speed it up.
  • Big Huge Thesaurus Plot Generator - Big Huge Thesaurus says its plot generator will generator over 5.1 million possible plot ideas. They range from plausible to zany fantasy/sf plot. A couple we generated include 'A corrupt politician must return money stolen from the mob' and 'Brothers struggle to survive against zombies at the circus.'
  • RanGen Plot Generator - RanGen has a plot generator that includes toggles for genre (action, fantasy and romance). RanGen generates a plot for you after you select the genre and hit the generate button.
  • Springhole Plot Generators - You will a couple dozen plot generators on this site including generators for horror plots, romance plots, mysterious findings for mystery plots and more.
  • Seventh Sanctum - Seventh Sanctum has several fun and interesting generators that can be used for plot and story ideas. They include generators called Quick Story Ideas, Punk Genre Generator, Romance Stories generator, Plot Twists, Symbolitron and more. Each one generators multiple ideas at a time.
  • Chaotic Shiny - Chaotic Shiny offers a number of writing and gaming generators. For writers there is a Story Arc generator, Prophecy generator, Situation generator, the Mashup Masher and several other tools.
  • WritingExercises Plot Generator - This plot generator creates some quick plot ideas for you. If you click just the Situation button you will get interesting basic situations like 'someone is wrongly accused of a crime' and 'something precious has been lost.'
  • TV Tropes Story Generator - The TV Tropes generator will give you a setting, plot, narrative device, hero, villain and other story components.
  • Writing Prompts - Plot generators are good for story writing inspiration. You can also use writing prompts to help you brainstorm a good plot idea. You may be surprised at how many ideas you can come up with just by using a prompt.

Story Plots With A Twist


Story Plot Worksheet