Here we are now at the middle of the fourth large part of this talk.get nowheremore quotes

# pi: fun

In Silico Flurries: Computing a world of snow. Scientific American. 23 December 2017

# visualization + design

The 2018 Pi Day art celebrates the 30th anniversary of $\pi$ day and connects friends stitching road maps from around the world. Pack a sandwich and let's go!

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

2018 $\pi$ day shrinks the world and celebrates road trips by stitching streets from around the world together. In this version, we look at the boonies, burbs and boutique of $\pi$ by drawing progressively denser patches of streets. Let's go places.
2017 $\pi$ day
2016 $\pi$ approximation day
2016 $\pi$ day
2015 $\pi$ day
2014 $\pi$ approx day
2014 $\pi$ day
2013 $\pi$ day
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.

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.

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

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
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.

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.

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).

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.

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.

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.

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.

Close-up of stitched streets in a world patch.
VIEW ALL

# Find and snap to colors in an image

Sat 29-12-2018

One of my color tools, the colorsnap application snaps colors in an image to a set of reference colors and reports their proportion.

Below is Times Square rendered using the colors of the MTA subway lines.

Colors used by the New York MTA subway lines.

Times Square in New York City.
Times Square in New York City rendered using colors of the MTA subway lines.
Granger rainbow snapped to subway lines colors from four cities. (zoom)

# Take your medicine ... now

Wed 19-12-2018

Drugs could be more effective if taken when the genetic proteins they target are most active.

Design tip: rediscover CMYK primaries.

More of my American Scientific Graphic Science designs

Ruben et al. A database of tissue-specific rhythmically expressed human genes has potential applications in circadian medicine Science Translational Medicine 10 Issue 458, eaat8806.

# Predicting with confidence and tolerance

Wed 07-11-2018
I abhor averages. I like the individual case. —J.D. Brandeis.

We focus on the important distinction between confidence intervals, typically used to express uncertainty of a sampling statistic such as the mean and, prediction and tolerance intervals, used to make statements about the next value to be drawn from the population.

Confidence intervals provide coverage of a single point—the population mean—with the assurance that the probability of non-coverage is some acceptable value (e.g. 0.05). On the other hand, prediction and tolerance intervals both give information about typical values from the population and the percentage of the population expected to be in the interval. For example, a tolerance interval can be configured to tell us what fraction of sampled values (e.g. 95%) will fall into an interval some fraction of the time (e.g. 95%).

Nature Methods Points of Significance column: Predicting with confidence and tolerance. (read)

Altman, N. & Krzywinski, M. (2018) Points of significance: Predicting with confidence and tolerance Nature Methods 15:843–844.

Krzywinski, M. & Altman, N. (2013) Points of significance: Importance of being uncertain. Nature Methods 10:809–810.

# 4-day Circos course

Wed 31-10-2018

A 4-day introductory course on genome data parsing and visualization using Circos. Prepared for the Bioinformatics and Genome Analysis course in Institut Pasteur Tunis, Tunis, Tunisia.

Composite of the kinds of images you will learn to make in this course.

# Oryza longistaminata genome cake

Mon 24-09-2018

Data visualization should be informative and, where possible, tasty.

Stefan Reuscher from Bioscience and Biotechnology Center at Nagoya University celebrates a publication with a Circos cake.

The cake shows an overview of a de-novo assembled genome of a wild rice species Oryza longistaminata.

Circos cake celebrating Reuscher et al. 2018 publication of the Oryza longistaminata genome.

# Optimal experimental design

Tue 31-07-2018
Customize the experiment for the setting instead of adjusting the setting to fit a classical design.

The presence of constraints in experiments, such as sample size restrictions, awkward blocking or disallowed treatment combinations may make using classical designs very difficult or impossible.

Optimal design is a powerful, general purpose alternative for high quality, statistically grounded designs under nonstandard conditions.

Nature Methods Points of Significance column: Optimal experimental design. (read)

We discuss two types of optimal designs (D-optimal and I-optimal) and show how it can be applied to a scenario with sample size and blocking constraints.

Smucker, B., Krzywinski, M. & Altman, N. (2018) Points of significance: Optimal experimental design Nature Methods 15:599–600.

Krzywinski, M., Altman, N. (2014) Points of significance: Two factor designs. Nature Methods 11:1187–1188.

Krzywinski, M. & Altman, N. (2014) Points of significance: Analysis of variance (ANOVA) and blocking. Nature Methods 11:699–700.

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