1000 Steps Program: Chapter 13 - Code Snippets

Step 396

'

style>

.chart-wrap {

margin-left: 50px;

font-family: sans-serif;

height: 650px; width: 300px;

}

.chart-wrap .title {

font-weight: bold;

font-size: 1.62em;

padding: 0.5em 0 1.8em 0;

text-align: center;

white-space: nowrap;

}

.chart-wrap.vertical .grid {transform: translateY(-175px) translateX(175px) rotate(-90deg);

}

.chart-wrap.vertical .grid .bar::after {transform: translateY(-50%) rotate(45deg);

display: block;

}

.chart-wrap.vertical .grid::before,.

chart-wrap.vertical .grid::after {

transform: translateX(-0.2em) rotate(90deg);

}

.chart-wrap .grid {

position: relative;

padding: 5px 0 5px 0; height: 100%;

width: 100%;

border-left: 2px solid #aaa;

background: repeating-linear-gradient(90deg,transparent,transparent 19.5%,rgba(170,170,170,0.7) 20%);

}

.chart-wrap .grid::before {

font-size: 0.8em;

font-weight: bold;

content: "0%";

position: absolute;

left: -0.5em;

top: -1.5em;

}

.chart-wrap .grid::after {

font-size: 0.8em;

font-weight: bold;

content: "100%";

position: absolute;

right: -1.5em;

top: -1.5em;

}

.chart-wrap .bar {

width: var(--bar-value);

height: 50px;

margin: 30px 0;

background-color:#F16335;

border-radius: 0 3px 3px 0;

}

.chart-wrap .bar:hover {

opacity: 0.7;

}

.chart-wrap .bar::after {

content: attr(data-name);

margin-left: 100%;

padding: 10px;display: inline-block;

white-space: nowrap;

}

</style>

'+

'

Bar Chart for Cars and Brands

'+

Car.allInstances->groupby(c|c.BrandofCar)->collect(tuple|tuple.BrandofCar.Name,(100*tuple.List->size/Car.allinstances->size).Round(0).asstring+'%')

->collect(values|'

'

)

->asSeparatedList( )+ )+

'

'

Step

(Exerpt)

This page was edited 30 days ago on 04/10/2024. What links here