A reproduction of Anderson's (1936) Iris visualization

A reproduction of Iris Virginica, Iris Setosa and Iris Versicolor census visualization, as seen Anderson's botany paper The Species Problem in Iris. Annals of the Missouri Botanical Garden Vol. 23, No. 3 (Sep., 1936).

There would be many ways to organize the items, with CSS, Bootstrap, translations etc., but for now I am just doing a full-on D3 matrix with index calculations.

I am using iris data from scikit-learn, like so in Python

import pandas as pd
import sklearn.datasets

iris = sklearn.datasets.load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
with open('iris.json', 'w') as fd:
    fd.write(df.to_json(orient='records'))
      

The data has following characteristics, with df.describe().round(2).loc[['mean', 'std', 'min', 'max']]

      sepal length (cm)  sepal width (cm)  petal length (cm)        petal width (cm)
mean               5.84              3.05               3.76                    1.20
std                0.83              0.43               1.76                    0.76
min                4.30              2.00               1.00                    0.10
max                7.90              4.40               6.90                    2.50