У меня есть документ XML с данными, которые я хотел бы отобразить на графике SVG с использованием XSL.Диаграмма видна, но отдельные столбцы не заполняют ширину графика и почти видны на оси Y.(см. ниже).
Как получить ширину баров для заполнения длины графика?
В настоящее времяширина полосы указана из соответствующих значений в документе XML.
Вот мой код XML:
<xml>
<graph2>
<averageLowTemperatures>
<January>3.7</January>
<February>3.4</February>
<March>5.0</March>
<April>6.4</April>
<May>9.4</May>
<June>12.3</June>
<July>14.6</July>
<August>14.7</August>
<September>12.5</September>
<October>9.6</October>
<November>6.2</November>
<December>4.7</December>
</averageLowTemperatures>
</graph2>
А вот мой код XSL:
<xsl:variable name="max">
<xsl:for-each select="xml/graph2/averageLowTemperatures/*">
<xsl:sort select="." data-type="number" order="descending"/><xsl:if test="position()=1">
<xsl:value-of select="."/>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<svg xmlns="http://www.w3.org/2000/svg">
<g id="axis" transform="translate(0 500) scale(1 -1)">
<!--Y Axis line-->
<line id="axis-y" x1="30" y1="20" x2="30" y2="510" style="stroke:rgb(0,0,0);stroke-width:2"/>
<!--X Axis line-->
<line id="axis-x" x1="30" y1="20" x2="700" y2="20" style="fill:none;stroke:rgb(0,0,0);stroke-width:2"/>
</g>
<xsl:for-each select="xml/graph2/averageLowTemperatures">
<g>
<rect x="31" y="5" width="{January div $max}" height="35" id="Jan"/>
<rect x="31" y="45" width="{February div $max}" height="35" id="Feb"/>
<rect x="31" y="85" width="{March div $max}" height="35" id="Mar"/>
<rect x="31" y="125" width="{April div $max}" height="35" id="Apr"/>
<rect x="31" y="165" width="{May div $max}" height="35" id="May"/>
<rect x="31" y="205" width="{June div $max}" height="35" id="Jun"/>
<rect x="31" y="245" width="{July div $max}" height="35" id="Jul"/>
<rect x="31" y="285" width="{August div $max}" height="35" id="Aug"/>
<rect x="31" y="325" width="{September div $max}" height="35" id="Sep"/>
<rect x="31" y="365" width="{October div $max}" height="35" id="Oct"/>
<rect x="31" y="405" width="{November div $max}" height="35" id="Nov"/>
<rect x="31" y="445" width="{December div $max}" height="33" id="Dec"/>
</g>
</xsl:for-each>
</svg>
Эта проблема вызвана тем, что ширина графика SVG (700) намного больше, чем значения столбцов (14.7), и поэтому они едва видны?
Заранее спасибо