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."
)
%%
``` css
#blobs {
-- h : 400 px ;
-- w : 600 px ;
-- zz : 1000 px ;
transform - style : preserve - 3 d ;
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 : 2 px 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;
}
}
}