Martin Krzywinski / Genome Sciences Center / mkweb.bcgsc.ca Martin Krzywinski / Genome Sciences Center / mkweb.bcgsc.ca - contact me Martin Krzywinski / Genome Sciences Center / mkweb.bcgsc.ca on Twitter Martin Krzywinski / Genome Sciences Center / mkweb.bcgsc.ca - Lumondo Photography Martin Krzywinski / Genome Sciences Center / mkweb.bcgsc.ca - Pi Art Martin Krzywinski / Genome Sciences Center / mkweb.bcgsc.ca - Hilbertonians - Creatures on the Hilbert Curve
In your hiding, you're alone. Kept your treasures with my bones.Coeur de Piratecrawl somewhere bettermore quotes

DNA on 10th — street art, wayfinding and font


visualization + design

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
The 2019 Pi Day art celebrates digits of `\pi` with hundreds of languages and alphabets. If you're a kid at heart—rejoice—there's a special edition for you!

`\pi` Day 2018 Art Posters - Stitched city road maps from around the world


Pi Day 2018 Art Posters  - Stitched city road maps from around the world
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2019 `\pi` has hundreds of digits, hundreds of languages and a special kids' edition.

Pi Day 2018 Art Posters  - Stitched city road maps from around the world
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2018 `\pi` day

Pi Day 2018 Art Posters  - Stitched city road maps from around the world
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2017 `\pi` day

Pi Day 2018 Art Posters  - Stitched city road maps from around the world
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2016 `\pi` approximation day

Pi Day 2018 Art Posters  - Stitched city road maps from around the world
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2016 `\pi` day

Pi Day 2018 Art Posters  - Stitched city road maps from around the world
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2015 `\pi` day

Pi Day 2018 Art Posters  - Stitched city road maps from around the world
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2014 `\pi` approx day

Pi Day 2018 Art Posters  - Stitched city road maps from around the world
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2014 `\pi` day

Pi Day 2018 Art Posters  - Stitched city road maps from around the world
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2013 `\pi` day

Pi Day 2018 Art Posters  - Stitched city road maps from around the world
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Circular `\pi` art

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.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
All art posters are available for purchase.
I take custom requests.

And if you've got to sleep a moment on the road
I will steer for you
And if you want to work the street alone
I'll disappear for you
—Leonard Cohen (I'm Your Man)

This year's is the 30th anniversary of `\pi` day. The theme of the art is bridging the world and making friends. So myself I again team up with my long-time friend and collaborator Jake Lever. I worled with Jake on the snowflake catalogue, where we build a world of flakes.

And so, this year we also build a world. We start with all the roads in the world and stitch them together in brand new ways. And if you walk more than 1 km in this world, you'll likely to be transported somewhere completely different.

This year's `\pi` day song is Trance Groove: Paris. Why? Because it's worth to go to new places—real or imagined.

The input data set to the art are all the roads in the world, as obtained from Open Street Map.

Road segments between intersections are represented by polylines and ends at intersections are snapped together to coincide with a resolution of 5–10 meters.

There are 108,366,429 polylines and together they span about 39,930,000 km.

extracting cities

We took 44 cities and sampled a square patch of 0.6 × 0.6 degrees of roads from the data set centered on the longitude and latitude coordinates below. This roughly corresponds to a square of 65 km × 65 km.

These center coordinates might be slightly different from the canonical ones associated with a city—I used Google Maps to center the coordinates on what I felt was a useful center for sampling streets. Below are these coordinates along with the number of polylines extracted.

           CITY    LATITUDE      LONGITUDE  POLYLINES
--------------- ------------ -------------  ---------
      amsterdam  52.38179720    4.90840330   98,965
        bangkok  13.72635950  100.53609560  154,348
      barcelona  41.38759720    2.17333560   86,575
        beijing  39.90487690  116.39331750   49,867
         berlin  52.51864170   13.40732310   64,336
   buenos_aires -34.61566250  -58.50333750  267,432
          cairo  30.05371250   31.23528970  108,524
     copenhagen  55.67346250   12.58781160   45,025
           doha  25.28233490   51.53479620   50,458
         dublin  53.34316360   -6.24433520   44,109
      edinburgh  55.94884870   -3.18828100   34,211
      hong_kong  22.31338230  114.16994610   36,329
       istanbul  41.03592820   28.98158110  190,938
        jakarta  -6.21858830  106.85252890  253,211
   johannesburg -26.20653880   28.05113830  128,840
         lisbon  38.73064000   -9.13667460   98,118
         london  51.50838960   -0.08585320  169,164
    los_angeles  34.04362360 -118.24505510  193,899
         madrid  40.41671290   -3.70329570  112,495
      marrakesh  31.63192610   -7.98895890   17,442
      melbourne -37.88286720  145.11800540  140,817
    mexico_city  19.39741470  -99.15827060  273,477
         moscow  55.75202630   37.61531070   40,043
         mumbai  19.18775070   72.97777590   65,316
        nairobi  -1.28718700   36.83157870   31,317
      new_delhi  28.61245350   77.21369970  262,503
       new_york  40.72187290  -73.92426750  199,652
           nice  43.70006260    7.26974590   25,564
          osaka  34.66944300  135.49965600  376,652
          paris  48.85837360    2.29229260  175,028
         prague  50.08022370   14.43002100   58,659
           rome  41.89659480   12.49983650   81,370
  san_francisco  37.77526950 -122.40966350   82,462
      sao_paulo -23.57343700  -46.63341590  267,742
          seoul  37.54869140  126.99479350  169,593
       shanghai  31.22590500  121.47386710   50,036
  st_petersburg  59.93029690   30.33955910   31,186
      stockholm  59.32318770   18.07408060   48,321
         sydney -33.86772020  151.20734660   76,820
          tokyo  35.69220740  139.75613010  694,893
        toronto  43.66328030  -79.38932030   73,173
      vancouver  49.25782630 -123.19394300   34,081
         vienna  48.20740250   16.37336040   53,669
         warsaw  52.23101840   21.01639680   54,870

Each city's road coordinates were then transformed using the equirectangular projection to make the distance between longitude meridians constant with latitude. This was done by $$ \phi' \leftarrow \phi - \text{avg}(\phi) $$ $$ \lambda' \leftarrow (\lambda - avg(\lambda)) \text{cos} (avg(\phi)) $$

where `\phi` is the latitude and `\lambda` is the longitude. The average is taken over the patch of roads extracted for the city. For all steps below these transformed coordinates were used.

copenhagen

Let's look at one city—Copenhagen—to get a feel for the data set.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
The roads in and around Copenhagen. (zoom)

In the zoom crop below, you can see the intersections (dots) and the individual polylines that connect the intersections.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Downtown Copenhagen. (zoom)

Zooming in even more you can see the Christiansborg Slot, one of the Danish Palaces and the seat of the Danish Parliament (corresponding Google Map view).

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
In and around Christiansborg Slot (red dot) in downtown Copenhagen. (zoom)

creating city strips

City strips were created by sampling patches of 0.015 × 0.015 degrees (after transformation). This corresponds roughly to 1.7 km.

For each position in the strip, patches were sampled in order of the digits of `\pi` only if the number of polylines in the was `40d \le N < 40(d+1)-1` where `d` is the digit of `\pi`. Patches for `d=9` only need to have `360 \le N` polylines.

For example, the first patch is assigned to `d=3` and it must have `120 \le N < 159` polylines. The second patch is sampled so that its density is `40 \le N < 79` because it is associated with the next digit, `d=1`.

Further selection on acceptable patches is performed so that the streets line up with the previous patch. Minor local adjustments and stitching are performed to make the join appear seamless.

Below is an example of a set of city strips for Amsterdam, Bangkok, Beijing, Berlin, Copenhagen, Edinburgh, Hong Kong, Johannesburg, Marrakesh and Melbourne.


Pi Day 2018 Art Posters  - Stitched city road maps from around the world
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca buy artwork
On the road with 10 digits of `\pi`. City strips for Moscow, Mumbai, Nairobi, New Delhi, Nice, Prague, Rome, Stockholm, Vancouver and Warsaw. (BUY ARTWORK)

Below I zoom in on a portion of the city strips above to show the result of the stitching—individual street patches are outlined in blue squares.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Close-up of stitched streets in a city strip.

It's interesting to see that some patches (e.g. 4th one on the bottom strip, which is Copenhagen) don't necessarily have roads that across the patch horizontally.

creating world patches

World patches are a two-dimension version of city strips but they use more than one city.

Patches are sampled from cities based on the order of the digits of `\pi`, as arranged on a 6 × 6 grid. For example, the first row of patches corresponds to 314159 and the second 265358. Each digit is assigned to a city from which the corresponding patch is sampled.

As for city strips, patches are selected only if they align with previous patches. This is now trickier to do in two-dimensions because we must match a selected patch with up to two other patches already placed.

Unlike for city strips, there is no selection made for street density.

Below is a world patch using the following digit-to-city assignment: 0:Amsterdam, 1:Doha, 2:Marrakesh, 3:Mumbai, 4:Nairobi, 5:Rome, 6:San Francisco, 7:Seoul, 8:Shanghai and 9:Vancouver.


Pi Day 2018 Art Posters  - Stitched city road maps from around the world
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca buy artwork
On the road with 36 digits of `\pi`. A world patch using Amsterdam, Doha, Marrakesh, Mumbai, Nairobi, Rome, San Francisco, Seoul, Shanghai and Vancouver (BUY ARTWORK)

Below I zoom in on patches in the center of the image and show the cities from which the patches were sampled.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Close-up of stitched streets in a world patch.
VIEW ALL

news + thoughts

Markov Chains

Tue 30-07-2019

You can look back there to explain things,
but the explanation disappears.
You'll never find it there.
Things are not explained by the past.
They're explained by what happens now.
—Alan Watts

A Markov chain is a probabilistic model that is used to model how a system changes over time as a series of transitions between states. Each transition is assigned a probability that defines the chance of the system changing from one state to another.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Nature Methods Points of Significance column: Markov Chains. (read)

Together with the states, these transitions probabilities define a stochastic model with the Markov property: transition probabilities only depend on the current state—the future is independent of the past if the present is known.

Once the transition probabilities are defined in matrix form, it is easy to predict the distribution of future states of the system. We cover concepts of aperiodicity, irreducibility, limiting and stationary distributions and absorption.

This column is the first part of a series and pairs particularly well with Alan Watts and Blond:ish.

Grewal, J., Krzywinski, M. & Altman, N. (2019) Points of significance: Markov Chains. Nature Methods 16:663–664.

1-bit zoomable gigapixel maps of Moon, Solar System and Sky

Mon 22-07-2019

Places to go and nobody to see.

Exquisitely detailed maps of places on the Moon, comets and asteroids in the Solar System and stars, deep-sky objects and exoplanets in the northern and southern sky. All maps are zoomable.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
3.6 gigapixel map of the near side of the Moon, annotated with 6,733. (details)
Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
100 megapixel and 10 gigapixel map of the Solar System on 20 July 2019, annotated with 758k asteroids, 1.3k comets and all planets and satellites. (details)
Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
100 megapixle and 10 gigapixel map of the Northern Celestial Hemisphere, annotated with 44 million stars, 74,000 deep-sky objects and 3,000 exoplanets. (details)
Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
100 megapixle and 10 gigapixel map of the Southern Celestial Hemisphere, annotated with 69 million stars, 88,000 deep-sky objects and 1000 exoplanets. (details)

Quantile regression

Sat 01-06-2019
Quantile regression robustly estimates the typical and extreme values of a response.

Quantile regression explores the effect of one or more predictors on quantiles of the response. It can answer questions such as "What is the weight of 90% of individuals of a given height?"

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Nature Methods Points of Significance column: Quantile regression. (read)

Unlike in traditional mean regression methods, no assumptions about the distribution of the response are required, which makes it practical, robust and amenable to skewed distributions.

Quantile regression is also very useful when extremes are interesting or when the response variance varies with the predictors.

Das, K., Krzywinski, M. & Altman, N. (2019) Points of significance: Quantile regression. Nature Methods 16:451–452.

Background reading

Altman, N. & Krzywinski, M. (2015) Points of significance: Simple linear regression. Nature Methods 12:999–1000.

Analyzing outliers: Robust methods to the rescue

Sat 30-03-2019
Robust regression generates more reliable estimates by detecting and downweighting outliers.

Outliers can degrade the fit of linear regression models when the estimation is performed using the ordinary least squares. The impact of outliers can be mitigated with methods that provide robust inference and greater reliability in the presence of anomalous values.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Nature Methods Points of Significance column: Analyzing outliers: Robust methods to the rescue. (read)

We discuss MM-estimation and show how it can be used to keep your fitting sane and reliable.

Greco, L., Luta, G., Krzywinski, M. & Altman, N. (2019) Points of significance: Analyzing outliers: Robust methods to the rescue. Nature Methods 16:275–276.

Background reading

Altman, N. & Krzywinski, M. (2016) Points of significance: Analyzing outliers: Influential or nuisance. Nature Methods 13:281–282.

Two-level factorial experiments

Fri 22-03-2019
To find which experimental factors have an effect, simultaneously examine the difference between the high and low levels of each.

Two-level factorial experiments, in which all combinations of multiple factor levels are used, efficiently estimate factor effects and detect interactions—desirable statistical qualities that can provide deep insight into a system.

They offer two benefits over the widely used one-factor-at-a-time (OFAT) experiments: efficiency and ability to detect interactions.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Nature Methods Points of Significance column: Two-level factorial experiments. (read)

Since the number of factor combinations can quickly increase, one approach is to model only some of the factorial effects using empirically-validated assumptions of effect sparsity and effect hierarchy. Effect sparsity tells us that in factorial experiments most of the factorial terms are likely to be unimportant. Effect hierarchy tells us that low-order terms (e.g. main effects) tend to be larger than higher-order terms (e.g. two-factor or three-factor interactions).

Smucker, B., Krzywinski, M. & Altman, N. (2019) Points of significance: Two-level factorial experiments Nature Methods 16:211–212.

Background reading

Krzywinski, M. & Altman, N. (2014) Points of significance: Designing comparative experiments.. Nature Methods 11:597–598.

Happy 2019 `\pi` Day—
Digits, internationally

Tue 12-03-2019

Celebrate `\pi` Day (March 14th) and set out on an exploration explore accents unknown (to you)!

This year is purely typographical, with something for everyone. Hundreds of digits and hundreds of languages.

A special kids' edition merges math with color and fat fonts.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
116 digits in 64 languages. (details)
Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
223 digits in 102 languages. (details)

Check out art from previous years: 2013 `\pi` Day and 2014 `\pi` Day, 2015 `\pi` Day, 2016 `\pi` Day, 2017 `\pi` Day and 2018 `\pi` Day.