Skip to content

a table of blobsยค

import sklearn.datasets, nbconvert_a11y.tables
DataFrame(
    *sklearn.datasets.make_blobs([10]*10, 3), list("xyz")
).rename_axis("group").groupby("group").pipe(
    nbconvert_a11y.tables.get_table, id="blobs",
    caption="randomly generated blobs from the tinder of a table."
)
randomly generated blobs from the tinder of a table.
group x y z
0 9.52 -4.07 -3.69
0 9.25 -3.04 -4.56
0 8.10 -2.68 -6.81
0 10.01 -3.38 -5.69
0 10.10 -1.90 -6.30
0 8.52 -2.61 -6.32
0 9.91 -2.51 -6.06
0 10.32 -3.90 -6.51
0 9.16 -3.12 -5.04
0 10.00 -3.28 -5.66
1 -1.30 -1.32 -4.58
1 -0.13 -0.54 -4.96
1 -0.78 -0.43 -5.35
1 -2.05 1.11 -4.36
1 -3.61 -1.47 -4.13
1 -1.34 -1.60 -5.73
1 1.26 -2.24 -5.85
1 -0.73 1.01 -5.15
1 -0.99 -1.79 -5.56
1 -1.13 0.32 -5.36
2 3.97 1.11 -7.61
2 2.44 -1.49 -9.50
2 4.06 -1.85 -6.29
2 4.50 -1.18 -7.62
2 5.40 -0.57 -7.17
2 2.10 -1.27 -6.43
2 5.46 -1.68 -7.87
2 5.30 -0.09 -6.88
2 3.69 0.68 -8.54
2 3.99 0.94 -6.07
3 -4.83 3.23 -8.30
3 -6.16 4.45 -7.42
3 -7.64 3.48 -8.14
3 -5.59 2.61 -8.77
3 -5.29 0.67 -5.96
3 -5.86 2.98 -8.79
3 -5.13 2.02 -7.82
3 -2.55 3.36 -10.41
3 -4.64 2.23 -10.19
3 -5.90 3.23 -8.56
4 3.94 -5.00 0.66
4 3.53 -3.16 -0.29
4 1.77 -3.60 0.66
4 2.53 -4.28 0.71
4 1.63 -5.61 0.81
4 0.69 -4.80 1.83
4 2.46 -4.35 0.97
4 2.38 -5.56 0.81
4 1.20 -4.78 3.17
4 3.27 -2.86 1.47
5 2.71 7.07 -7.75
5 5.99 5.96 -7.67
5 5.09 7.59 -8.16
5 4.48 9.35 -8.10
5 6.40 7.84 -8.31
5 5.20 7.13 -7.21
5 4.29 8.02 -7.02
5 5.12 7.37 -7.32
5 4.18 6.14 -7.44
5 4.02 9.30 -7.30
6 2.67 3.78 -2.17
6 3.01 2.81 -1.51
6 1.49 3.33 -2.59
6 2.78 4.22 -1.73
6 5.12 2.59 -1.83
6 3.52 4.21 -2.73
6 0.44 3.85 -1.32
6 2.72 2.65 -1.99
6 4.55 2.31 -3.73
6 3.29 4.81 -1.65
7 1.03 -4.80 0.43
7 1.06 -2.10 1.03
7 0.12 -3.87 -0.05
7 -0.13 -3.01 1.15
7 2.10 -4.68 1.03
7 0.86 -3.18 0.52
7 0.49 -4.15 1.45
7 -0.55 -2.76 0.79
7 -0.12 -3.84 -0.58
7 -1.18 -3.63 -0.03
8 10.68 8.07 -4.42
8 10.26 7.75 -5.78
8 10.13 8.92 -5.80
8 9.31 9.91 -6.04
8 8.17 11.28 -7.62
8 9.77 8.91 -6.55
8 8.63 9.71 -7.51
8 11.08 7.08 -6.25
8 10.28 9.34 -6.42
8 9.57 10.31 -6.27
9 4.13 4.06 -6.56
9 3.91 3.56 -4.96
9 3.19 5.08 -7.84
9 1.88 3.91 -7.28
9 4.46 3.03 -6.43
9 3.37 6.04 -6.64
9 3.50 3.99 -5.96
9 3.14 5.67 -5.16
9 3.30 3.26 -7.21
9 4.22 5.82 -6.35
min -7.64 -5.61 -10.41
max 11.08 11.28 3.17
%%
```css
#blobs {
    --h: 400px;
    --w: 600px;
    --zz: 1000px;
    transform-style: preserve-3d;
    display: block;
    height: var(--h); width: var(--w);
    position: relative;
    overflow: auto;
    --dx: calc(var(--x-max) - var(--x-min));
    --dy: calc(var(--y-max) - var(--y-min));
    --dz: calc(var(--z-max) - var(--z-min));
    tbody {
        height: var(--h); width: var(--w);
        position: sticky;
        top: 0;
        filter: invert(var(--scroll-y)) sepia(var(--scroll-x));
        tr {
            border: 2px solid rgb(calc(255 / var(--group)), 0, 0);
            --x-frac: calc((var(--x) - var(--x-min)) / var(--dx));
            --y-frac: calc((var(--y) - var(--y-min)) / var(--dy));
            --z-frac: calc((var(--z) - var(--z-min)) / var(--dz));
            position: absolute;
            transform: translate3d(
                calc(var(--x-frac) * var(--w)),
                calc(var(--y-frac) * var(--h)),
                calc(var(--z-frac) * var(--zz))
            );
            opacity: 0.8;
        }
    }
}
```
#blobs {
    --h: 400px;
    --w: 600px;
    --zz: 1000px;
    transform-style: preserve-3d;
    display: block;
    height: var(--h); width: var(--w);
    position: relative;
    overflow: auto;
    --dx: calc(var(--x-max) - var(--x-min));
    --dy: calc(var(--y-max) - var(--y-min));
    --dz: calc(var(--z-max) - var(--z-min));
    tbody {
        height: var(--h); width: var(--w);
        position: sticky;
        top: 0;
        filter: invert(var(--scroll-y)) sepia(var(--scroll-x));
        tr {
            border: 2px solid rgb(calc(255 / var(--group)), 0, 0);
            --x-frac: calc((var(--x) - var(--x-min)) / var(--dx));
            --y-frac: calc((var(--y) - var(--y-min)) / var(--dy));
            --z-frac: calc((var(--z) - var(--z-min)) / var(--dz));
            position: absolute;
            transform: translate3d(
                calc(var(--x-frac) * var(--w)),
                calc(var(--y-frac) * var(--h)),
                calc(var(--z-frac) * var(--zz))
            );
            opacity: 0.8;
        }
    }
}