Re: Věkové složení Pirátské strany
Napsal: 15 kvě 2012, 18:01
Lehce modla verze, mela by spravne scalovat (dle nastaveneho meritka) + pocita s moznosti rustu (= na ose Y se meritko prizpusobi maximalnimu poctu lidi v dany vekovy skupine)
Kód: Vybrat vše
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" media-type="image/svg" />
<xsl:template match="/">
<svg version="1.1"
baseProfile="full"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:ev="http://www.w3.org/2001/xml-events"
>
<desc>Rozložení věku pirátů</desc>
<xsl:variable name="max">
<xsl:for-each select="data/group">
<xsl:sort select="clenu" data-type="number" order="descending"/>
<xsl:if test="position()=1">
<xsl:value-of select="ceiling(clenu div 10) * 10"/>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<g transform="translate(50,50) scale(0.2)">
<!-- osy X a Y -->
<g style="stroke-width:5; stroke:black">
<!-- X -->
<path d="M 50 1000 L 5000 1000 Z"/>
<!-- Y -->
<path d="M 50 0 L 50 1000 Z"/>
</g>
<g style="fill:none; stroke:#B0B0B0; stroke-width:1; stroke-dasharray:2 4;text-anchor:end; font-size:30">
<path d="M 50 0 L 5000 0 Z"/>
<path d="M 50 500 L 5000 500 Z"/>
<text style="fill:black; stroke:none" x="10" y="0" font-size="50"><xsl:value-of select="$max" /></text>
<text style="fill:black; stroke:none" x="10" y="500" font-size="50"><xsl:value-of select="$max div 2" /></text>
</g>
<xsl:for-each select="data/group">
<rect width ="100" style="fill:rgb(152,207,113);" >
<xsl:attribute name="x"><xsl:value-of select="110 * position()" /></xsl:attribute>
<xsl:attribute name="y"><xsl:value-of select="1000 - ((1000 div $max) * clenu)" /></xsl:attribute>
<xsl:attribute name="height"><xsl:value-of select="(1000 div $max) * clenu" /></xsl:attribute>
</rect>
<text style="fill:black; stroke:none" y="1100" font-size="50">
<xsl:attribute name="x"><xsl:value-of select="110 * position() + 30" /></xsl:attribute>
<xsl:value-of select="vek" />
</text>
</xsl:for-each>
<text style="fill:black; stroke:none" x="2000" y="150" font-size="80">Rozložení věku pirátů</text>
<!-- ceiling($max / 10)* 10 -->
</g>
</svg>
</xsl:template>
</xsl:stylesheet>
