2025 π Day latest news buy art
listen; there's a hell of a good universe next door: let's go.e.e. cummingsgo theremore quotes
very clickable
visualization + math

π Day 2025 Art Posters - TTCAGT: a sequence of digits
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca buy artwork
2025 π DAY | TTCAGT: A sequence of digits. 768 digits of `\pi` as a Sanger sequencing trace of 1,536 peaks. Decode the sequence (BUY ARTWORK)

`\pi` Day 2021 Art Posters - A forest of `\pi` (a Lindenmayer system)


`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2024 π DAY | Explore the garden of digits.

`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2023 π DAY | Repeated sequence

`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2022 π DAY | three one four: a number of digits

`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2021 π DAY | Good things grow for those who wait.' edition.


`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2020 π DAY | The piku.

`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2019 π DAY | Hundreds of digits, hundreds of languages and a special kids' edition.

`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2018 π DAY | Street maps to new destinations.

`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2017 π DAY | Imagine the sky in a new way.


`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2016 π APPROXIMATION DAY | What would happen if about right was right.

`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2016 π DAY | These digits really fall for each other.

`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2015 π DAY | A transcendental experience.

`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2014 π APPROXIMATION DAY | Spirals into roughness.


`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2014 π DAY | Hypnotizes you into looking.

`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2014 π DAY | Come into the fold.

`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2013 π DAY | Where it started.

`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
CIRCULAR π ART | And other distractions.

On March 14th celebrate `\pi` Day. Hug `\pi`—find a way to do it.

For those who favour `\tau=2\pi` will have to postpone celebrations until July 26th. That's what you get for thinking that `\pi` is wrong. I sympathize with this position and have `\tau` day art too!

If you're not into details, you may opt to party on July 22nd, which is `\pi` approximation day (`\pi` ≈ 22/7). It's 20% more accurate that the official `\pi` day!

Finally, if you believe that `\pi = 3`, you should read why `\pi` is not equal to 3.

Most of the art is available for purchase as framed prints and, yes, even pillows. Sleep's never been more important — I take custom requests.

The trees along this city street,
Save for the traffic and the trains,
Would make a sound as thin and sweet
As trees in country lanes.
—Edna St. Vincent Millay (City Trees)


`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca buy artwork
768 digits of `\pi` as a forest of trees. Underwater technicolor edition. (BUY ARTWORK)

`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca buy artwork
768 digits of `\pi` as a forest of trees. Scorched technicolor edition. (BUY ARTWORK)

`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca buy artwork
768 digits of `\pi` as a forest of leafless trees. Desolate edition. (BUY ARTWORK)

Welcome to this year's celebration of `\pi` and mathematics.

The theme this year is flower and flowers—in contrast to last year's understandable downturn in mood.

This year's `\pi` poem City Trees by Edna St. Vincent Millay.

This year's `\pi` day song is Sway by Laleh.

The 2015 π Day art takes a Mondrain perspective on π. The art was used in a collaboration with Max Cooper for his track Transcendental Tree Map from the album Yearning for the Infinite. Animation by Nick Cobby and myself. Watch the full show at the Barbican Centre.

The forest was generated using an Lindenmayer system — this part of the process is relatively easy.

Integrating variation into how the trees look while keeping a clean look-and-feel took a lot of experimentation — there are many free parameters in this section.

Lindenmayer system

A Lindenmayer system is a kind of parallel rewriting system. The system starts with some initial state, typically represented by a string. For example FX.

On each iteration, rules are applied to each characters in the state, which replaces the character with some other character. For example, suppose we replace X with [-FX][+FX]. Starting with the axiom FX The first three rounds of rewriting gives each give us

FX
F[-FX][+FX]
F[-F[-FX][+FX]][+F[-FX][+FX]]
F[-F[-F[-FX][+FX]][+F[-FX][+FX]]][+F[-F[-FX][+FX]][+F[-FX][+FX]]]

It doesn't look like much, I know, but the magic happens when you interpret these characters in the context of turtle graphics. Specifically, let

F move forward distance d
- turn left &theta degrees;
+ turn right &theta degrees;
[ spawn a new turtle at this position facing at current angle
] restore previous turtle

If we set `\theta = 15\deg` then the shapes for each iteration are


`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
The first three rounds of rewriting of a simple L-system with axiom FX and rewrite rule X = [-FX][+FX].

We can interpret F as a branch and X a point were new branches grow. You can already see that by level 3 two of the branches — there's nothing in the system that prevents this, since each turtle operates independently.

Rules can be as simple or as complicated as you want and new characters to the string can be added to correspond to different turtle actions.

The `\pi` forest Lindenmayer system

The rules for the `\pi` forest are quite simple. The system starts with the axiom fX (grow a trunk and then branch off) and each digit corresponds to a different branching rule — the digit gives the number of branches with zero terminating a branch.

X 0 []
X 1 [---FX][++h]
X 2 [----FX][+++FX]
X 3 [-----FX][-FX][++++FX]
X 4 [------FX][---FX][++FX][+++++FX]
X 5 [-------FX][----FX][-FX][+++FX][+++++++FX]
X 6 [--------FX][------FX][---FX][+FX][+++++FX][++++++++FX]
X 7 [--------FX][-----FX][--FX][FX][+++FX][++++++FX][+++++++++FX]
X 8 [---------FX][------FX][---FX][-FX][++FX][++++FX][+++++++FX][+++++++++FX]

where each – or + correspond to a left or right turn of 8 degrees. Any turns

The digit 9 has a special rule that sprouts a flower at the previous branching point and starts a new tree.

Also, at least step branches grow

F FF
f ff
g gg

with the f step being a fraction `(1-1/\pi)^2 \approx 46%` of the length of F and g being `(1-1/\pi)^4 \approx 22%` of the length of F. These shorter branch allow me to have a shorter trunk (axiom is fX and not FX) and a very short branch used in the rule for the digit 1, which branches off to one side while growing a little stubby branch to the other side.

There is one additional rule in which the turtle is mirrored at a branching point when a digit and the next digit have different parity (one odd and one even).

X = MX

The mirror operator makes the current turtle interpret any left turns as right turns, and vice versa.

The reason for the multiple turns in the rules is for convenience &mdsah; it allows me to define the angles of the branches as a multiple of a fixed value.

The system is grown for 6 iterations.

The first tree

Here is the first tree of the forest – for digits 314159. It ends in a 9 because the rule for 9 is to grow a flower, terminate the current tree and start a new tree with the next set of digits (up to the next 9, and so on).


`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
The first tree in the `\pi` forest. Its digits are 314159 -- they end at the first 9 in `\pi`.

You can trace the digits for the tree left-to-right along the leaves. The flower of the 9 will appear on the branch of the digit immediately before it — in this case, a 5. The color of the flower petal is green (5) and the center is dark orange (first digit of the next tree).

The L-system string for this tree is below. See if you can discover what symbol is used for the flower.

ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
[-----FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
 [---FFFFFFFFFFFFFFFF
  [-------FFFFFFFFO][----FFFFFFFF][-FFFFFFFF][+++FFFFFFFF][+++++++FFFFFFFF]
 ]
 [++gggggggggggggggg]
]
[-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFM
 [------FFFFFFFFFFFFFFFF][---FFFFFFFFFFFFFFFF][++FFFFFFFFFFFFFFFF][+++++FFFFFFFFFFFFFFFF]
]
[++++FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
 [---FFFFFFFFFFFFFFFF][++gggggggggggggggg]
]

adding variation

To add variation to the tree, I take the tree's digits and create linear congruential generators for each of the following: branch turn angle, branch growth rate, thickness tapering and turtle angle when growing a branch.

Each generator is constructed as follows. The digits of the tree `d_1d_2d_3...d_n` are split into `a = d_1d_2d_3...d_{n-1}`, `c = d_n` and `m = d_1d_2d_3...d_n`. The generator is seeded with `X_0 = d_1` and then the next digit is `X_1 = (a X_0 + c) \; \textrm{mod} \; m`. Each output `X_i` is transformed to `y \times (2X_i/m - 1)`. Because some of the trees have a large number of digits, the operations are performed with an arbitrary precision library.


`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
The output of the linear congruential generator (LCG) for the first tree. The first 1,000 samples are shown below a lag plot of two successive samples. As with all LCGs, you get a banding pattern.

The output will be distributed in the range `[-y,y)`. The distribution will depend on the values of `a`, `c` and `m`. It might be reasonably uniform for some combinations and absolutely non-uniform for others. But here, non-uniform doesn't mean horrible — just another rule in the digit forest.

Each type of variation starts with an identical generator.


`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
The effect of successively adding different types of variation. Shown are the first 5 trees in the forest with no leaves or flowers. A row contains all the variation in the previous row plus the type noted on the row.

The parameters that influence the amount of variation are irrelevant — I tweaked them until I had something that looked "pretty good".

winds of change are blowing

You might have noticed that because a branch growth step is doubled at each iteration, a branch is composed of 64 turtle steps. This was done so that there's lots of opportunities to sample variation along a branch. And also for boring technical reasons: SVG does not allow a path with varying thickness.

This means that variation can build up along a branch, especially if we allow the turtle to veer quite a bit as the branch grows. Remember, a branch begins to grows in a particular direction but can change course along its growth.

Below I show what happens when I crank up every variation type by 200% and by 300% (e.g. 300% moar branch growth rate jitter!). Things add up pretty quickly — I'm looking at you 79! What are you doing? Who knew the digit forest could be so complicated?


`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
The effect of increasing variation of all types to 200% and 300%.

once more with ecosystem flavour

Exploring the space of variation is fun — even at 1am as I'm trying to finish this.

Below are some scenarios to get the imagination going.

The underwater scenario uses an effect in which turtle angle during branch growth is increased and constrained to be mostly up and no branch thickness change.

The prickly forest has a larger branch angle and larger branch length decay as a function of depth.

The dry forest has extreme thickness tapering and branch growth angle variation increases with each branch depth.

Finally, the bat cave is similar to the underwater case except that it has a much narrower branching angle and branch length now increases with branch depth. And one more change that's easy to spot.


`\pi` Day 2021 Art Posters - A forest of Pi (a Lindenmayer system)
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Different combinations of variation can create some funky effects. Here I show the digit forest as imagined underwater, in a desert, in a drought and just hanging out in a bat cave.

So as you can see, the canonical digit forest is just one of a wide range of possible numerical environments.

news + thoughts

Propensity score weighting

Mon 17-03-2025

The needs of the many outweigh the needs of the few. —Mr. Spock (Star Trek II)

This month, we explore a related and powerful technique to address bias: propensity score weighting (PSW), which applies weights to each subject instead of matching (or discarding) them.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Nature Methods Points of Significance column: Propensity score weighting. (read)

Kurz, C.F., Krzywinski, M. & Altman, N. (2025) Points of significance: Propensity score weighting. Nat. Methods 22:1–3.

Happy 2025 π Day—
TTCAGT: a sequence of digits

Thu 13-03-2025

Celebrate π Day (March 14th) and sequence digits like its 1999. Let's call some peaks.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2025 π DAY | TTCAGT: a sequence of digits. The digits of π are encoded into DNA sequence and visualized with Sanger sequencing. (details)

Crafting 10 Years of Statistics Explanations: Points of Significance

Sun 09-03-2025

I don’t have good luck in the match points. —Rafael Nadal, Spanish tennis player

Points of Significance is an ongoing series of short articles about statistics in Nature Methods that started in 2013. Its aim is to provide clear explanations of essential concepts in statistics for a nonspecialist audience. The articles favor heuristic explanations and make extensive use of simulated examples and graphical explanations, while maintaining mathematical rigor.

Topics range from basic, but often misunderstood, such as uncertainty and P-values, to relatively advanced, but often neglected, such as the error-in-variables problem and the curse of dimensionality. More recent articles have focused on timely topics such as modeling of epidemics, machine learning, and neural networks.

In this article, we discuss the evolution of topics and details behind some of the story arcs, our approach to crafting statistical explanations and narratives, and our use of figures and numerical simulations as props for building understanding.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Crafting 10 Years of Statistics Explanations: Points of Significance. (read)

Altman, N. & Krzywinski, M. (2025) Crafting 10 Years of Statistics Explanations: Points of Significance. Annual Review of Statistics and Its Application 12:69–87.

Propensity score matching

Mon 16-09-2024

I don’t have good luck in the match points. —Rafael Nadal, Spanish tennis player

In many experimental designs, we need to keep in mind the possibility of confounding variables, which may give rise to bias in the estimate of the treatment effect.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Nature Methods Points of Significance column: Propensity score matching. (read)

If the control and experimental groups aren't matched (or, roughly, similar enough), this bias can arise.

Sometimes this can be dealt with by randomizing, which on average can balance this effect out. When randomization is not possible, propensity score matching is an excellent strategy to match control and experimental groups.

Kurz, C.F., Krzywinski, M. & Altman, N. (2024) Points of significance: Propensity score matching. Nat. Methods 21:1770–1772.

Understanding p-values and significance

Tue 24-09-2024

P-values combined with estimates of effect size are used to assess the importance of experimental results. However, their interpretation can be invalidated by selection bias when testing multiple hypotheses, fitting multiple models or even informally selecting results that seem interesting after observing the data.

We offer an introduction to principled uses of p-values (targeted at the non-specialist) and identify questionable practices to be avoided.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Understanding p-values and significance. (read)

Altman, N. & Krzywinski, M. (2024) Understanding p-values and significance. Laboratory Animals 58:443–446.

Depicting variability and uncertainty using intervals and error bars

Thu 05-09-2024

Variability is inherent in most biological systems due to differences among members of the population. Two types of variation are commonly observed in studies: differences among samples and the “error” in estimating a population parameter (e.g. mean) from a sample. While these concepts are fundamentally very different, the associated variation is often expressed using similar notation—an interval that represents a range of values with a lower and upper bound.

In this article we discuss how common intervals are used (and misused).

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Depicting variability and uncertainty using intervals and error bars. (read)

Altman, N. & Krzywinski, M. (2024) Depicting variability and uncertainty using intervals and error bars. Laboratory Animals 58:453–456.

Martin Krzywinski | contact | Canada's Michael Smith Genome Sciences CentreBC Cancer Research CenterBC CancerPHSA
Google whack “vicissitudinal corporealization”
{ 10.9.234.152 }