Introducing PLASM - PLot Analysis Spreads for Meetings
Open-sourcing a fun little tool that might make your research meetings a bit more productive.
The problem
You’ve put together some nice data, made a histogram, and are showing it to your collaborators. Immediately, they want to see a log-scaled
Now you have to promise to send the revised plot after the meeting. The research feedback loop has slowed.
The solution - PLASM
PLASM consists of two Python functions that make a spread of plots:
SPASM
- ScatterPlot Analysis Spread for MeetingsCHASM
- Cdf and Histogram Analysis Spread for Meetings
With a quick function call 1 you get all the combinations of log and linear scales that you could want, as well as some basic summary statistics. Now when you’re asked for a different scaling, just pull up the saved spread.
Examples
SPASM
Suppose we conducted two experiments, measuring for each an
spasm(X1,Y1, X2,Y2, names=['Expr-1', 'Expr-2'])

CHASM
And here’s an example of chasm
comparing the distributions of three variables:
chasm(D1,D2,D3, names=[f'data{i}' for i in range(3)], show_median=True)

The top two rows are cumulative distributions (ECDFs) and the bottom row is histograms 2.
Redundancy. One thing to keep in mind with these spreads is that there’s a lot of redundancy. You’re plotting the same thing over and over, with different combinations of scales. That redundancy is by design. With a spread you can:
- see all the different scales, to help guide you to which is most informative (if you don’t have an educated guess in advance),
- save the plot figure as a file for reference to show during meetings.
This plot redundancy makes the spread less useful for, say, a final figure in a publication. In that case, you should already have a good handle on the best plot scale to use before you finish the paper figure. PLASM is best as a working tool.
Interested? You’re one pip install plasm
away from plot spread goodness!
Be sure to check out the GitHub for more (especially the FAQ).
-
My design goal for PLASM is as little extra code and changes to how you work as possible. ↩︎
-
Histograms require choosing bins, and right now CHASM only has a basic auto binning procedure for the linear and logarithmic
-axis. More should be done. Of course, the CDF, computed properly, needs no binning 😂. ↩︎