[CLOSED] charts from code behind need to export via SvgExporter

Page 1 of 2 12 LastLast
  1. #1

    [CLOSED] charts from code behind need to export via SvgExporter

    Hi,

    I created few charts in the C# code, and I also need export function to export those charts;

    The structure is --> FormPanel --> Panel (ChartPanel) --> Panel1 (generate from C# code) --> Chart1 ((generate from C# code)
    --> Panel2 (generate from C# code) --> Chart2 ((generate from C# code)
    --> Panel3 (generate from C# code) --> Chart3 ((generate from C# code)


       <script>
            var exportChart = function (btn) {
                Ext.MessageBox.confirm('Confirm Export', 'Export Chart to an image?', function (choice) {
                    if (choice == 'yes') {
                        var svg = Ext.htmlEncode(Ext.draw.engine.SvgExporter.generate(Ext.getCmp('ChartPanel').down('panel').down('chart').surface));
                        App.direct.ExportSvg(svg, { isUpload: true });
                    }
                });
            };
        </script>
    ......................................
    <ext:Panel runat="server" AutoDoLayout="true" AutoDataBind="true" ID="ChartPanel" Frame="true" Layout="VBoxLayout" Title="Chart">
                    <Items></Items>
                </ext:Panel>
    but it doesn't work well, always get script error without message, any suggestion?



    Best Regards,
    Paggy
    Last edited by Daniil; Jan 28, 2014 at 5:26 AM. Reason: [CLOSED]
  2. #2
    Hello,

    What is the error that you are receiving?

    When you step through the code (client and server side), where does the error get occur?
    Geoffrey McGill
    Founder
  3. #3
    Quote Originally Posted by geoffrey.mcgill View Post
    Hello,

    What is the error that you are receiving?

    When you step through the code (client and server side), where does the error get occur?
      [DirectMethod]
        public void ExportSvg(string svg)
        {
            if (string.IsNullOrEmpty(svg))
            {
                X.Msg.Alert("SVG is empty", "Provided SVG is null or empty");
                return;
            }
    
            var encodedSvg = Server.HtmlDecode(svg);
            XmlDocument xd = new XmlDocument();
            xd.XmlResolver = null;
            xd.LoadXml(encodedSvg);
            var svgGraph = Svg.SvgDocument.Open(xd);
    
            // To save the chart, uncomment the line below
            //svgGraph.Draw().Save(@"c:\\chart.png", System.Drawing.Imaging.ImageFormat.Png);
            Response.Clear();
            Response.ClearContent();
            Response.ClearHeaders();
            Response.AddHeader("Content-Disposition", "attachment; filename=chart.png");
            Response.ContentType = "image/png";
    
            using (Bitmap image = svgGraph.Draw())
            {
                using (MemoryStream ms = new MemoryStream())
                {
                    image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                    ms.WriteTo(Response.OutputStream);
                }
            }
    
            Response.End();
        }
    The error is happen on line 14 --> var svgGraph = Svg.SvgDocument.Open(xd); throw XmlException
    System.Xml.XmlTextReaderImpl.Throw(Exception e) on System.Xml.XmlTextReaderImpl.Throw(String res, String arg) on System.Xml.XmlTextReaderImpl.InvalidCharRecovery(Int32& bytesCount, Int32& charsCount) on System.Xml.XmlTextReaderImpl.GetChars(Int32 maxCharsCount) on System.Xml.XmlTextReaderImpl.ReadData() on System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars) on System.Xml.XmlTextReaderImpl.ParseText() on System.Xml.XmlTextReaderImpl.ParseElementContent() on System.Xml.XmlTextReaderImpl.Read() on System.Xml.XmlTextReader.Read() on Svg.SvgTextReader.Read() on C:\Dev\vvvv\SVG\Source\SvgTextReader.cs: line 105 on Svg.SvgDocument.Open[T](Stream stream, Dictionary`2 entities) on C:\Dev\vvvv\SVG\Source\SvgDocument.cs: line 197 on Svg.SvgDocument.Open(XmlDocument document) on C:\Dev\vvvv\SVG\Source\SvgDocument.cs: line 287 on

    the svg string is below:
    "<?xml version=\"1.0\" standalone=\"yes\"?><!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"><svg width=\"1200px\" height=\"396px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\"><defs></defs><rect width=\"100%\" height=\"100%\" fill=\"#fff\" fill-opacity=\"0\" stroke=\"none\" /><path d=\"M 42.5 261 l 0 -218 M 42 261.5 l -6 0 M 42 224.5 l -6 0 M 42 188.5 l -6 0 M 42 152.5 l -6 0 M 42 115.5 l -6 0 M 42 79.5 l -6 0 M 42 43.5 l -6 0\" fill=\"none\" stroke=\"#444\" stroke-width=\"1\" z-index=\"0\" transform=\"matrix(1,0,0,1,0,0)\" /><text x=\"22\" y=\"261\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(1,0,0,1,0,0)\" ><tspan x=\"22\" dy=\"3\">0</tspan></text><text x=\"15\" y=\"224\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(1,0,0,1,0,0)\" ><tspan x=\"15\" dy=\"3\">20</tspan></text><text x=\"15\" y=\"188\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(1,0,0,1,0,0)\" ><tspan x=\"15\" dy=\"3\">40</tspan></text><text x=\"15\" y=\"152\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(1,0,0,1,0,0)\" ><tspan x=\"15\" dy=\"3\">60</tspan></text><text x=\"15\" y=\"115\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(1,0,0,1,0,0)\" ><tspan x=\"15\" dy=\"3\">80</tspan></text><text x=\"8\" y=\"79\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(1,0,0,1,0,0)\" ><tspan x=\"8\" dy=\"3\">100</tspan></text><text x=\"8\" y=\"43\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(1,0,0,1,0,0)\" ><tspan x=\"8\" dy=\"3\">120</tspan></text><path d=\"M 42 261.5 l 1148 0 M 42.5 261 l 0 7 M 91.5 261 l 0 7 M 141.5 261 l 0 7 M 191.5 261 l 0 7 M 241.5 261 l 0 7 M 291.5 261 l 0 7 M 341.5 261 l 0 7 M 391.5 261 l 0 7 M 441.5 261 l 0 7 M 491.5 261 l 0 7 M 541.5 261 l 0 7 M 591.5 261 l 0 7 M 640.5 261 l 0 7 M 690.5 261 l 0 7 M 740.5 261 l 0 7 M 790.5 261 l 0 7 M 840.5 261 l 0 7 M 890.5 261 l 0 7 M 940.5 261 l 0 7 M 990.5 261 l 0 7 M 1040.5 261 l 0 7 M 1090.5 261 l 0 7 M 1140.5 261 l 0 7 M 1190.5 261 l 0 7\" fill=\"none\" stroke=\"#444\" stroke-width=\"1\" z-index=\"0\" transform=\"matrix(1,0,0,1,0,0)\" /><text x=\"-1\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,-273,355)\" ><tspan x=\"-1\" dy=\"3\"> 2014-01-08 00</tspan></text><text x=\"48\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,-224,404)\" ><tspan x=\"48\" dy=\"3\"> 2014-01-08 01</tspan></text><text x=\"98\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,-174,454)\" ><tspan x=\"98\" dy=\"3\"> 2014-01-08 02</tspan></text><text x=\"148\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,-124,504)\" ><tspan x=\"148\" dy=\"3\"> 2014-01-08 03</tspan></text><text x=\"198\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,-74,554)\" ><tspan x=\"198\" dy=\"3\"> 2014-01-08 04</tspan></text><text x=\"248\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,-24,604)\" ><tspan x=\"248\" dy=\"3\"> 2014-01-08 05</tspan></text><text x=\"298\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,26,654)\" ><tspan x=\"298\" dy=\"3\"> 2014-01-08 06</tspan></text><text x=\"348\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,76,704)\" ><tspan x=\"348\" dy=\"3\"> 2014-01-08 07</tspan></text><text x=\"398\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,126,754)\" ><tspan x=\"398\" dy=\"3\"> 2014-01-08 08</tspan></text><text x=\"448\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,176,804)\" ><tspan x=\"448\" dy=\"3\"> 2014-01-08 09</tspan></text><text x=\"498\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,226,854)\" ><tspan x=\"498\" dy=\"3\"> 2014-01-08 10</tspan></text><text x=\"548\" y=\"314.5\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,275.5,903.5)\" ><tspan x=\"548\" dy=\"3\"> 2014-01-08 11</tspan></text><text x=\"597\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,325,953)\" ><tspan x=\"597\" dy=\"3\"> 2014-01-08 12</tspan></text><text x=\"647\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,375,1003)\" ><tspan x=\"647\" dy=\"3\"> 2014-01-08 13</tspan></text><text x=\"697\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,425,1053)\" ><tspan x=\"697\" dy=\"3\"> 2014-01-08 14</tspan></text><text x=\"747\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,475,1103)\" ><tspan x=\"747\" dy=\"3\"> 2014-01-08 15</tspan></text><text x=\"797\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,525,1153)\" ><tspan x=\"797\" dy=\"3\"> 2014-01-08 16</tspan></text><text x=\"847\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,575,1203)\" ><tspan x=\"847\" dy=\"3\"> 2014-01-08 17</tspan></text><text x=\"897\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,625,1253)\" ><tspan x=\"897\" dy=\"3\"> 2014-01-08 18</tspan></text><text x=\"947\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,675,1303)\" ><tspan x=\"947\" dy=\"3\"> 2014-01-08 19</tspan></text><text x=\"997\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,725,1353)\" ><tspan x=\"997\" dy=\"3\"> 2014-01-08 20</tspan></text><text x=\"1047\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,775,1403)\" ><tspan x=\"1047\" dy=\"3\"> 2014-01-08 21</tspan></text><text x=\"1097\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,825,1453)\" ><tspan x=\"1097\" dy=\"3\"> 2014-01-08 22</tspan></text><text x=\"1147\" y=\"315\" font-size=\"12\" font-family=\"Arial, Helvetica, sans-serif\" fill=\"#444\" transform=\"matrix(0,-1,1,0,875,1503)\" ><tspan x=\"1147\" dy=\"3\"> 2014-01-08 23</tspan></text><text x=\"0\" y=\"0\" font-size=\"18\" font-family=\"Arial\" fill=\"#444\" transform=\"matrix(1,0,0,1,475.5,379.8)\" ><tspan x=\"\" dy=\"4.5\">CPU 平均使用率%[Cloud-Xen-T1]</tspan></text><path d=\"M 42 97.5 C 42 97.5 91.91 79.33 91.91 79.33 C 91.91 79.33 141.83 97.5 141.83 97.5 C 141.83 97.5 191.74 61.17 191.74 61.17 C 191.74 61.17 241.65 115.67 241.65 115.67 C 241.65 115.67 291.57 88.42 291.57 88.42 C 291.57 88.42 341.48 79.35 341.48 79.35 C 341.48 79.35 391.39 76.88 391.39 76.88 C 391.39 76.88 441.3 95.05 441.3 95.05 C 441.3 95.05 491.22 97.5 491.22 97.5 C 491.22 97.5 541.13 61.17 541.13 61.17 C 541.13 61.17 591.04 115.67 591.04 115.67 C 591.04 115.67 640.96 97.5 640.96 97.5 C 640.96 97.5 690.87 79.33 690.87 79.33 C 690.87 79.33 740.78 97.5 740.78 97.5 C 740.78 97.5 790.7 61.17 790.7 61.17 C 790.7 61.17 840.61 115.67 840.61 115.67 C 840.61 115.67 890.52 88.42 890.52 88.42 C 890.52 88.42 940.43 79.35 940.43 79.35 C 940.43 79.35 990.35 76.88 990.35 76.88 C 990.35 76.88 1040.26 95.05 1040.26 95.05 C 1040.26 95.05 1090.17 97.5 1090.17 97.5 C 1090.17 97.5 1140.09 61.17 1140.09 61.17 C 1140.09 61.17 1190 115.67 1190 115.67\" fill=\"none\" stroke=\"rgb(0, 0, 0)\" stroke-width=\"6\" stroke-opacity=\"0.05\" z-index=\"0\" transform=\"matrix(1,0,0,1,1,1)\" /><path d=\"M 42 97.5 C 42 97.5 91.91 79.33 91.91 79.33 C 91.91 79.33 141.83 97.5 141.83 97.5 C 141.83 97.5 191.74 61.17 191.74 61.17 C 191.74 61.17 241.65 115.67 241.65 115.67 C 241.65 115.67 291.57 88.42 291.57 88.42 C 291.57 88.42 341.48 79.35 341.48 79.35 C 341.48 79.35 391.39 76.88 391.39 76.88 C 391.39 76.88 441.3 95.05 441.3 95.05 C 441.3 95.05 491.22 97.5 491.22 97.5 C 491.22 97.5 541.13 61.17 541.13 61.17 C 541.13 61.17 591.04 115.67 591.04 115.67 C 591.04 115.67 640.96 97.5 640.96 97.5 C 640.96 97.5 690.87 79.33 690.87 79.33 C 690.87 79.33 740.78 97.5 740.78 97.5 C 740.78 97.5 790.7 61.17 790.7 61.17 C 790.7 61.17 840.61 115.67 840.61 115.67 C 840.61 115.67 890.52 88.42 890.52 88.42 C 890.52 88.42 940.43 79.35 940.43 79.35 C 940.43 79.35 990.35 76.88 990.35 76.88 C 990.35 76.88 1040.26 95.05 1040.26 95.05 C 1040.26 95.05 1090.17 97.5 1090.17 97.5 C 1090.17 97.5 1140.09 61.17 1140.09 61.17 C 1140.09 61.17 1190 115.67 1190 115.67\" fill=\"none\" stroke=\"rgb(0, 0, 0)\" stroke-width=\"4\" stroke-opacity=\"0.1\" z-index=\"0\" transform=\"matrix(1,0,0,1,1,1)\" /><path d=\"M 42 97.5 C 42 97.5 91.91 79.33 91.91 79.33 C 91.91 79.33 141.83 97.5 141.83 97.5 C 141.83 97.5 191.74 61.17 191.74 61.17 C 191.74 61.17 241.65 115.67 241.65 115.67 C 241.65 115.67 291.57 88.42 291.57 88.42 C 291.57 88.42 341.48 79.35 341.48 79.35 C 341.48 79.35 391.39 76.88 391.39 76.88 C 391.39 76.88 441.3 95.05 441.3 95.05 C 441.3 95.05 491.22 97.5 491.22 97.5 C 491.22 97.5 541.13 61.17 541.13 61.17 C 541.13 61.17 591.04 115.67 591.04 115.67 C 591.04 115.67 640.96 97.5 640.96 97.5 C 640.96 97.5 690.87 79.33 690.87 79.33 C 690.87 79.33 740.78 97.5 740.78 97.5 C 740.78 97.5 790.7 61.17 790.7 61.17 C 790.7 61.17 840.61 115.67 840.61 115.67 C 840.61 115.67 890.52 88.42 890.52 88.42 C 890.52 88.42 940.43 79.35 940.43 79.35 C 940.43 79.35 990.35 76.88 990.35 76.88 C 990.35 76.88 1040.26 95.05 1040.26 95.05 C 1040.26 95.05 1090.17 97.5 1090.17 97.5 C 1090.17 97.5 1140.09 61.17 1140.09 61.17 C 1140.09 61.17 1190 115.67 1190 115.67\" fill=\"none\" stroke=\"rgb(0, 0, 0)\" stroke-width=\"2\" stroke-opacity=\"0.15\" z-index=\"0\" transform=\"matrix(1,0,0,1,1,1)\" /><path d=\"M 42 122.93 C 42 122.93 91.91 115.67 91.91 115.67 C 91.91 115.67 141.83 122.93 141.83 122.93 C 141.83 122.93 191.74 79.33 191.74 79.33 C 191.74 79.33 241.65 133.83 241.65 133.83 C 241.65 133.83 291.57 106.58 291.57 106.58 C 291.57 106.58 341.48 115.38 341.48 115.38 C 341.48 115.38 391.39 105.06 391.39 105.06 C 391.39 105.06 441.3 114.14 441.3 114.14 C 441.3 114.14 491.22 122.93 491.22 122.93 C 491.22 122.93 541.13 79.33 541.13 79.33 C 541.13 79.33 591.04 133.83 591.04 133.83 C 591.04 133.83 640.96 122.93 640.96 122.93 C 640.96 122.93 690.87 115.67 690.87 115.67 C 690.87 115.67 740.78 122.93 740.78 122.93 C 740.78 122.93 790.7 79.33 790.7 79.33 C 790.7 79.33 840.61 133.83 840.61 133.83 C 840.61 133.83 890.52 106.58 890.52 106.58 C 890.52 106.58 940.43 115.38 940.43 115.38 C 940.43 115.38 990.35 105.06 990.35 105.06 C 990.35 105.06 1040.26 114.14 1040.26 114.14 C 1040.26 114.14 1090.17 122.93 1090.17 122.93 C 1090.17 122.93 1140.09 79.33 1140.09 79.33 C 1140.09 79.33 1190 133.83 1190 133.83\" fill=\"none\" stroke=\"rgb(0, 0, 0)\" stroke-width=\"6\" stroke-opacity=\"0.05\" z-index=\"0\" transform=\"matrix(1,0,0,1,1,1)\" /><path d=\"M 42 122.93 C 42 122.93 91.91 115.67 91.91 115.67 C 91.91 115.67 141.83 122.93 141.83 122.93 C 141.83 122.93 191.74 79.33 191.74 79.33 C 191.74 79.33 241.65 133.83 241.65 133.83 C 241.65 133.83 291.57 106.58 291.57 106.58 C 291.57 106.58 341.48 115.38 341.48 115.38 C 341.48 115.38 391.39 105.06 391.39 105.06 C 391.39 105.06 441.3 114.14 441.3 114.14 C 441.3 114.14 491.22 122.93 491.22 122.93 C 491.22 122.93 541.13 79.33 541.13 79.33 C 541.13 79.33 591.04 133.83 591.04 133.83 C 591.04 133.83 640.96 122.93 640.96 122.93 C 640.96 122.93 690.87 115.67 690.87 115.67 C 690.87 115.67 740.78 122.93 740.78 122.93 C 740.78 122.93 790.7 79.33 790.7 79.33 C 790.7 79.33 840.61 133.83 840.61 133.83 C 840.61 133.83 890.52 106.58 890.52 106.58 C 890.52 106.58 940.43 115.38 940.43 115.38 C 940.43 115.38 990.35 105.06 990.35 105.06 C 990.35 105.06 1040.26 114.14 1040.26 114.14 C 1040.26 114.14 1090.17 122.93 1090.17 122.93 C 1090.17 122.93 1140.09 79.33 1140.09 79.33 C 1140.09 79.33 1190 133.83 1190 133.83\" fill=\"none\" stroke=\"rgb(0, 0, 0)\" stroke-width=\"4\" stroke-opacity=\"0.1\" z-index=\"0\" transform=\"matrix(1,0,0,1,1,1)\" /><path d=\"M 42 122.93 C 42 122.93 91.91 115.67 91.91 115.67 C 91.91 115.67 141.83 122.93 141.83 122.93 C 141.83 122.93 191.74 79.33 191.74 79.33 C 191.74 79.33 241.65 133.83 241.65 133.83 C 241.65 133.83 291.57 106.58 291.57 106.58 C 291.57 106.58 341.48 115.38 341.48 115.38 C 341.48 115.38 391.39 105.06 391.39 105.06 C 391.39 105.06 441.3 114.14 441.3 114.14 C 441.3 114.14 491.22 122.93 491.22 122.93 C 491.22 122.93 541.13 79.33 541.13 79.33 C 541.13 79.33 591.04 133.83 591.04 133.83 C 591.04 133.83 640.96 122.93 640.96 122.93 C 640.96 122.93 690.87 115.67 690.87 115.67 C 690.87 115.67 740.78 122.93 740.78 122.93 C 740.78 122.93 790.7 79.33 790.7 79.33 C 790.7 79.33 840.61 133.83 840.61 133.83 C 840.61 133.83 890.52 106.58 890.52 106.58 C 890.52 106.58 940.43 115.38 940.43 115.38 C 940.43 115.38 990.35 105.06 990.35 105.06 C 990.35 105.06 1040.26 114.14 1040.26 114.14 C 1040.26 114.14 1090.17 122.93 1090.17 122.93 C 1090.17 122.93 1140.09 79.33 1140.09 79.33 C 1140.09 79.33 1190 133.83 1190 133.83\" fill=\"none\" stroke=\"rgb(0, 0, 0)\" stroke-width=\"2\" stroke-opacity=\"0.15\" z-index=\"0\" transform=\"matrix(1,0,0,1,1,1)\" /><path d=\"M 42 148.37 C 42 148.37 91.91 152 91.91 152 C 91.91 152 141.83 148.37 141.83 148.37 C 141.83 148.37 191.74 97.5 191.74 97.5 C 191.74 97.5 241.65 152 241.65 152 C 241.65 152 291.57 124.75 291.57 124.75 C 291.57 124.75 341.48 151.4 341.48 151.4 C 341.48 151.4 391.39 133.23 391.39 133.23 C 391.39 133.23 441.3 151.4 441.3 151.4 C 441.3 151.4 491.22 148.37 491.22 148.37 C 491.22 148.37 541.13 97.5 541.13 97.5 C 541.13 97.5 591.04 152 591.04 152 C 591.04 152 640.96 148.37 640.96 148.37 C 640.96 148.37 690.87 152 690.87 152 C 690.87 152 740.78 148.37 740.78 148.37 C 740.78 148.37 790.7 97.5 790.7 97.5 C 790.7 97.5 840.61 152 840.61 152 C 840.61 152 890.52 124.75 890.52 124.75 C 890.52 124.75 940.43 151.4 940.43 151.4 C 940.43 151.4 990.35 133.23 990.35 133.23 C 990.35 133.23 1040.26 151.4 1040.26 151.4 C 1040.26 151.4 1090.17 148.37 1090.17 148.37 C 1090.17 148.37 1140.09 97.5 1140.09 97.5 C 1140.09 97.5 1190 152 1190 152\" fill=\"none\" stroke=\"rgb(0, 0, 0)\" stroke-width=\"6\" stroke-opacity=\"0.05\" z-index=\"0\" transform=\"matrix(1,0,0,1,1,1)\" /><path d=\"M 42 148.37 C 42 148.37 91.91 152 91.91 152 C 91.91 152 141.83 148.37 141.83 148.37 C 141.83 148.37 191.74 97.5 191.74 97.5 C 191.74 97.5 241.65 152 241.65 152 C 241.65 152 291.57 124.75 291.57 124.75 C 291.57 124.75 341.48 151.4 341.48 151.4 C 341.48 151.4 391.39 133.23 391.39 133.23 C 391.39 133.23 441.3 151.4 441.3 151.4 C 441.3 151.4 491.22 148.37 491.22 148.37 C 491.22 148.37 541.13 97.5 541.13 97.5 C 541.13 97.5 591.04 152 591.04 152 C 591.04 152 640.96 148.37 640.96 148.37 C 640.96 148.37 690.87 152 690.87 152 C 690.87 152 740.78 148.37 740.78 148.37 C 740.78 148.37 790.7 97.5 790.7 97.5 C 790.7 97.5 840.61 152 840.61 152 C 840.61 152 890.52 124.75 890.52 124.75 C 890.52 124.75 940.43 151.4 940.43 151.4 C 940.43 151.4 990.35 133.23 990.35 133.23 C 990.35 133.23 1040.26 151.4 1040.26 151.4 C 1040.26 151.4 1090.17 148.37 1090.17 148.37 C 1090.17 148.37 1140.09 97.5 1140.09 97.5 C 1140.09 97.5 1190 152 1190 152\" fill=\"none\" stroke=\"rgb(0, 0, 0)\" stroke-width=\"4\" stroke-opacity=\"0.1\" z-index=\"0\" transform=\"matrix(1,0,0,1,1,1)\" /><path d=\"M 42 148.37 C 42 148.37 91.91 152 91.91 152 C 91.91 152 141.83 148.37 141.83 148.37 C 141.83 148.37 191.74 97.5 191.74 97.5 C 191.74 97.5 241.65 152 241.65 152 C 241.65 152 291.57 124.75 291.57 124.75 C 291.57 124.75 341.48 151.4 341.48 151.4 C 341.48 151.4 391.39 133.23 391.39 133.23 C 391.39 133.23 441.3 151.4 441.3 151.4 C 441.3 151.4 491.22 148.37 491.22 148.37 C 491.22 148.37 541.13 97.5 541.13 97.5 C 541.13 97.5 591.04 152 591.04 152 C 591.04 152 640.96 148.37 640.96 148.37 C 640.96 148.37 690.87 152 690.87 152 C 690.87 152 740.78 148.37 740.78 148.37 C 740.78 148.37 790.7 97.5 790.7 97.5 C 790.7 97.5 840.61 152 840.61 152 C 840.61 152 890.52 124.75 890.52 124.75 C 890.52 124.75 940.43 151.4 940.43 151.4 C 940.43 151.4 990.35 133.23 990.35 133.23 C 990.35 133.23 1040.26 151.4 1040.26 151.4 C 1040.26 151.4 1090.17 148.37 1090.17 148.37 C 1090.17 148.37 1140.09 97.5 1140.09 97.5 C 1140.09 97.5 1190 152 1190 152\" fill=\"none\" stroke=\"rgb(0, 0, 0)\" stroke-width=\"2\" stroke-opacity=\"0.15\" z-index=\"0\" transform=\"matrix(1,0,0,1,1,1)\" /><rect x=\"517.5\" y=\"9.5\" width=\"196\" height=\"23\" fill=\"#FFF\" stroke=\"#000\" stroke-width=\"1\" transform=\"matrix(1,0,0,1,0,0)\" /><text x=\"543\" y=\"21\" font-size=\"12\" font-family=\"Helvetica, sans-serif\" fill=\"#000\" transform=\"matrix(1,0,0,1,0,0)\" ><tspan x=\"543\" dy=\"3\">最大值</tspan></text><path d=\"M0.5 0.5L16.5 0.5\" fill=\"none\" stroke=\"#115fa6\" z-index=\"502\" transform=\"matrix(1,0,0,1,523,21)\" /><circle cx=\"8.5\" cy=\"0.5\" r=\"3\" fill=\"#115fa6\" transform=\"matrix(1,0,0,1,523,21)\"  /><text x=\"608\" y=\"21\" font-size=\"12\" font-family=\"Helvetica, sans-serif\" fill=\"#000\" transform=\"matrix(1,0,0,1,0,0)\" ><tspan x=\"608\" dy=\"3\">平均值</tspan></text><path d=\"M0.5 0.5L16.5 0.5\" fill=\"none\" stroke=\"#94ae0a\" z-index=\"502\" transform=\"matrix(1,0,0,1,588,21)\" /><path d=\"M6.735294117647059 0.5l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"#94ae0a\" z-index=\"502\" transform=\"matrix(1,0,0,1,588,21)\" /><text x=\"673\" y=\"21\" font-size=\"12\" font-family=\"Helvetica, sans-serif\" fill=\"#000\" transform=\"matrix(1,0,0,1,0,0)\" ><tspan x=\"673\" dy=\"3\">最小值</tspan></text><path d=\"M0.5 0.5L16.5 0.5\" fill=\"none\" stroke=\"#a61120\" z-index=\"502\" transform=\"matrix(1,0,0,1,653,21)\" /><path d=\"M7.346153846153847 -0.6538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"#a61120\" z-index=\"502\" transform=\"matrix(1,0,0,1,653,21)\" /><path d=\"M 42 148.37 C 42 148.37 91.91 152 91.91 152 C 91.91 152 141.83 148.37 141.83 148.37 C 141.83 148.37 191.74 97.5 191.74 97.5 C 191.74 97.5 241.65 152 241.65 152 C 241.65 152 291.57 124.75 291.57 124.75 C 291.57 124.75 341.48 151.4 341.48 151.4 C 341.48 151.4 391.39 133.23 391.39 133.23 C 391.39 133.23 441.3 151.4 441.3 151.4 C 441.3 151.4 491.22 148.37 491.22 148.37 C 491.22 148.37 541.13 97.5 541.13 97.5 C 541.13 97.5 591.04 152 591.04 152 C 591.04 152 640.96 148.37 640.96 148.37 C 640.96 148.37 690.87 152 690.87 152 C 690.87 152 740.78 148.37 740.78 148.37 C 740.78 148.37 790.7 97.5 790.7 97.5 C 790.7 97.5 840.61 152 840.61 152 C 840.61 152 890.52 124.75 890.52 124.75 C 890.52 124.75 940.43 151.4 940.43 151.4 C 940.43 151.4 990.35 133.23 990.35 133.23 C 990.35 133.23 1040.26 151.4 1040.26 151.4 C 1040.26 151.4 1090.17 148.37 1090.17 148.37 C 1090.17 148.37 1140.09 97.5 1140.09 97.5 C 1140.09 97.5 1190 152 1190 152\" fill=\"none\" stroke=\"rgb(166,17,32)\" fill-opacity=\"1\" stroke-width=\"0.5px\" z-index=\"3000\" transform=\"matrix(1,0,0,1,0,0)\" /><path d=\"M 42 122.93 C 42 122.93 91.91 115.67 91.91 115.67 C 91.91 115.67 141.83 122.93 141.83 122.93 C 141.83 122.93 191.74 79.33 191.74 79.33 C 191.74 79.33 241.65 133.83 241.65 133.83 C 241.65 133.83 291.57 106.58 291.57 106.58 C 291.57 106.58 341.48 115.38 341.48 115.38 C 341.48 115.38 391.39 105.06 391.39 105.06 C 391.39 105.06 441.3 114.14 441.3 114.14 C 441.3 114.14 491.22 122.93 491.22 122.93 C 491.22 122.93 541.13 79.33 541.13 79.33 C 541.13 79.33 591.04 133.83 591.04 133.83 C 591.04 133.83 640.96 122.93 640.96 122.93 C 640.96 122.93 690.87 115.67 690.87 115.67 C 690.87 115.67 740.78 122.93 740.78 122.93 C 740.78 122.93 790.7 79.33 790.7 79.33 C 790.7 79.33 840.61 133.83 840.61 133.83 C 840.61 133.83 890.52 106.58 890.52 106.58 C 890.52 106.58 940.43 115.38 940.43 115.38 C 940.43 115.38 990.35 105.06 990.35 105.06 C 990.35 105.06 1040.26 114.14 1040.26 114.14 C 1040.26 114.14 1090.17 122.93 1090.17 122.93 C 1090.17 122.93 1140.09 79.33 1140.09 79.33 C 1140.09 79.33 1190 133.83 1190 133.83\" fill=\"none\" stroke=\"rgb(148,174,10)\" fill-opacity=\"1\" stroke-width=\"0.5px\" z-index=\"3000\" transform=\"matrix(1,0,0,1,0,0)\" /><path d=\"M 42 97.5 C 42 97.5 91.91 79.33 91.91 79.33 C 91.91 79.33 141.83 97.5 141.83 97.5 C 141.83 97.5 191.74 61.17 191.74 61.17 C 191.74 61.17 241.65 115.67 241.65 115.67 C 241.65 115.67 291.57 88.42 291.57 88.42 C 291.57 88.42 341.48 79.35 341.48 79.35 C 341.48 79.35 391.39 76.88 391.39 76.88 C 391.39 76.88 441.3 95.05 441.3 95.05 C 441.3 95.05 491.22 97.5 491.22 97.5 C 491.22 97.5 541.13 61.17 541.13 61.17 C 541.13 61.17 591.04 115.67 591.04 115.67 C 591.04 115.67 640.96 97.5 640.96 97.5 C 640.96 97.5 690.87 79.33 690.87 79.33 C 690.87 79.33 740.78 97.5 740.78 97.5 C 740.78 97.5 790.7 61.17 790.7 61.17 C 790.7 61.17 840.61 115.67 840.61 115.67 C 840.61 115.67 890.52 88.42 890.52 88.42 C 890.52 88.42 940.43 79.35 940.43 79.35 C 940.43 79.35 990.35 76.88 990.35 76.88 C 990.35 76.88 1040.26 95.05 1040.26 95.05 C 1040.26 95.05 1090.17 97.5 1090.17 97.5 C 1090.17 97.5 1140.09 61.17 1140.09 61.17 C 1140.09 61.17 1190 115.67 1190 115.67\" fill=\"none\" stroke=\"rgb(17,95,166)\" fill-opacity=\"1\" stroke-width=\"0.5px\" z-index=\"3000\" transform=\"matrix(1,0,0,1,0,0)\" /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,42,97.5)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,91.91,79.33)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,141.83,97.5)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,191.74,61.17)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,241.65,115.67)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,291.57,88.42)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,341.48,79.35)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,391.39,76.88)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,441.3,95.05)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,491.22,97.5)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,541.13,61.17)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,591.04,115.67)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,640.96,97.5)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,690.87,79.33)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,740.78,97.5)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,790.7,61.17)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,840.61,115.67)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,890.52,88.42)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,940.43,79.35)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,990.35,76.88)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,1040.26,95.05)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,1090.17,97.5)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,1140.09,61.17)\"  /><circle cx=\"0\" cy=\"0\" r=\"3\" fill=\"rgb(17,95,166)\" stroke=\"rgb(85,85,85)\" transform=\"matrix(1,0,0,1,1190,115.67)\"  /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,42,122.93)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,91.91,115.67)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,141.83,122.93)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,191.74,79.33)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,241.65,133.83)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,291.57,106.58)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,341.48,115.38)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,391.39,105.06)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,441.3,114.14)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,491.22,122.93)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,541.13,79.33)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,591.04,133.83)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,640.96,122.93)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,690.87,115.67)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,740.78,122.93)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,790.7,79.33)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,840.61,133.83)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,890.52,106.58)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,940.43,115.38)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,990.35,105.06)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,1040.26,114.14)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,1090.17,122.93)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,1140.09,79.33)\" /><path d=\"M-1.7647058823529411 0l-1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 1.7647058823529411 1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 -1.7647058823529411 1.7647058823529411 -1.7647058823529411 -1.7647058823529411 z\" fill=\"rgb(148,174,10)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,1190,133.83)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,42,148.37)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,91.91,152)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,141.83,148.37)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,191.74,97.5)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,241.65,152)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,291.57,124.75)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,341.48,151.4)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,391.39,133.23)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,441.3,151.4)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,491.22,148.37)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,541.13,97.5)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,591.04,152)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,640.96,148.37)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,690.87,152)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,740.78,148.37)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,790.7,97.5)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,840.61,152)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,890.52,124.75)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,940.43,151.4)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,990.35,133.23)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,1040.26,151.4)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,1090.17,148.37)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,1140.09,97.5)\" /><path d=\"M-1.1538461538461537 -1.1538461538461537l0 -2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 -2.3076923076923075 0 0 -2.3076923076923075 z\" fill=\"rgb(166,17,32)\" stroke=\"rgb(85,85,85)\" z-index=\"4000\" transform=\"matrix(1,0,0,1,1190,152)\" /></svg>"
    Last edited by Geenin; Jan 21, 2014 at 5:10 AM.
  4. #4
    Hi @Paggy,

    I tried with the SVG string that you mentioned, it works for me.

    So, please provide a full test case to reproduce.

    Please clarify did you install the SVG library?
    Install-Package Svg
  5. #5
    Quote Originally Posted by Daniil View Post
    Hi @Paggy,

    I tried with the SVG string that you mentioned, it works for me.

    So, please provide a full test case to reproduce.

    Please clarify did you install the SVG library?
    Install-Package Svg
    Hi Daniil,

    Yes, I installed SVG with version 1.5.2.


    Best Regards,
    Paggy
  6. #6
    Ok, then this is totally actual now:
    Quote Originally Posted by Daniil View Post
    I tried with the SVG string that you mentioned, it works for me.

    So, please provide a full test case to reproduce.
  7. #7
    test case
    --------------------------------
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AMWS.Examples.Report.Test.Default" %>
    
    <%@ Import Namespace="System.Drawing" %>
    <%@ Import Namespace="System.Drawing.Drawing2D" %>
    <%@ Import Namespace="System.IO" %>
    <%@ Import Namespace="System.Xml" %>
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <script runat="server">
      
        [DirectMethod]
        public void ExportSvg(string svg)
        {
            if (string.IsNullOrEmpty(svg))
            {
                X.Msg.Alert("SVG is empty", "Provided SVG is null or empty");
                return;
            }
    
            var encodedSvg = Server.HtmlDecode(svg);
            XmlDocument xd = new XmlDocument();
            xd.XmlResolver = null;
            xd.LoadXml(encodedSvg);
            var svgGraph = Svg.SvgDocument.Open(xd);
    
            // To save the chart, uncomment the line below
            //svgGraph.Draw().Save(@"c:\\chart.png", System.Drawing.Imaging.ImageFormat.Png);
            Response.Clear();
            Response.ClearContent();
            Response.ClearHeaders();
            Response.AddHeader("Content-Disposition", "attachment; filename=chart.png");
            Response.ContentType = "image/png";
    
            using (Bitmap image = svgGraph.Draw())
            {
                using (MemoryStream ms = new MemoryStream())
                {
                    image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                    ms.WriteTo(Response.OutputStream);
                }
            }
    
            Response.End();
        }
    </script>
    
    <!DOCTYPE html>
    <html>
    <head id="Head1" runat="server">
        <title>Report</title>
        <script>
            var exportChart = function (btn) {
                Ext.MessageBox.confirm('Confirm Export', 'Export Chart to an image?', function (choice) {
                    if (choice == 'yes') {
                        var svg = Ext.htmlEncode(Ext.draw.engine.SvgExporter.generate(Ext.getCmp('ChartPanel').down('panel').down('chart').surface));
                        App.direct.ExportSvg(svg, { isUpload: true });
                    }
                });
            };
        </script>
    </head>
    <body>
    
        <ext:ResourceManager ID="ResourceManager1" runat="server" />
      
        <ext:FormPanel ID="_extFP" runat="server" Layout="AnchorLayout"
            AutoDataBind="true" Title="Report">
            <TopBar>
                <ext:Toolbar ID="ToolbarHostList" runat="server">
                    <Items>
                        <ext:Button ID="Button21" runat="server" Text="<%# @Resources.AmsResource.BUTTON_SEARCH %>" AutoDataBind="true"
                            Icon="Zoom" ToolTip="<%# @Resources.AmsResource.BUTTON_SEARCH %>" OnDirectClick="LoadData">
                        </ext:Button>
                        <ext:Button ID="ButtonExport" runat="server" Text="Export" AutoDataBind="true" Handler="exportChart"
                            Icon="Zoom">
                        </ext:Button>
                    </Items>
                </ext:Toolbar>
            </TopBar>
            <Items>
                <ext:Panel runat="server" AutoDoLayout="true" AutoDataBind="true" ID="ChartPanel" Frame="true" Layout="VBoxLayout" Title="Chart">
                    <Items></Items>
                </ext:Panel>
            </Items>
        </ext:FormPanel>
    </body>
    </html>
    using Ext.Net;
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    namespace AMWS.Examples.Report.Test
    {
        public partial class Default : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
    
            }
    
            public void LoadData(object sender, EventArgs e)
            {
                DataTable demoDT = PrepareChartData();
                this.LoadChart(this.ChartPanel, demoDT, "Chart_ID_1");
            }
    
            public DataTable PrepareChartData()
            {
                DataTable dt = new DataTable();
                dt.Columns.Add("DATE_CHECK");
                dt.Columns.Add("VALUE_MAX");
                dt.Columns.Add("VALUE_AVG");
                dt.Columns.Add("VALUE_MIN");
                for (int i = 1; i < 10; i++)
                {
                    DataRow r = dt.NewRow();
                    r["DATE_CHECK"] = "2014010" + i;
                    r["VALUE_MAX"] = Convert.ToDouble(i * 10);
                    r["VALUE_MIN"] = Convert.ToDouble(i * 2);
                    r["VALUE_AVG"] = (Convert.ToDouble(r["VALUE_MAX"]) + Convert.ToDouble(r["VALUE_MIN"])) / 2;
                    dt.Rows.Add(r);
                }
                return dt;
            }
    
    
            public void LoadChart(Ext.Net.Panel panel, DataTable dt, String title)
            {
                AxisLabel axisLabel = new AxisLabel();
                RotateAttribute rotate = new RotateAttribute();
                rotate.Degrees = 270;
                axisLabel.Rotate = rotate;
    
                Ext.Net.Panel pnl = new Ext.Net.Panel
                {
                    Title = title,
                    Layout = "FitLayout",
                    Width = 1200,
                    Height = 420,
                    Items =
                    {
                        new Chart {
                             Shadow = true,
                             Animate = true,
                              Width = 1200,
                              Height=400,
                             LegendConfig = new ChartLegend() { Position = LegendPosition.Top},
                             Store = {
                                new Store {
                                    DataSource = dt,
                                     AutoDataBind = true,
                                     Model = {
                                        new Model {
                                            Fields = {
                                                new ModelField { Name = "DATE_CHECK" },
                                                new ModelField { Name = "VALUE_MAX" },
                                                new ModelField { Name = "VALUE_AVG" },
                                                new ModelField { Name = "VALUE_MIN" }
                                            }   
                                        }   
                                     }  
                                }
                             },
                             Axes = {
                                new NumericAxis { Fields = new string[] { "VALUE_MAX","VALUE_AVG","VALUE_MIN" }, Title = "", Minimum = 0 },
                                new CategoryAxis { Position = Position.Bottom, 
                                    Fields = new string[] { "DATE_CHECK" }, 
                                     Label = axisLabel,
                                    Title = title }
                             },
                             Series = {
                                new  LineSeries { 
                                    Axis = Position.Left,
                                    Title=Resources.AmsResource.COLUMN_PERF_MAX,
                                    XField = new string[] { "DATE_CHECK" }, 
                                    YField = new string[] { "VALUE_MAX" }
                                }  ,
                                
                                new  LineSeries { 
                                    Axis = Position.Left,  
                                    Title=Resources.AmsResource.COLUMN_PERF_AVG,
                                    XField = new string[] { "DATE_CHECK" }, 
                                    YField = new string[] { "VALUE_AVG" }
                                } ,
                                
                                new  LineSeries { 
                                    Axis = Position.Left, 
                                    Title=Resources.AmsResource.COLUMN_PERF_MIN,
                                    XField = new string[] { "DATE_CHECK" }, 
                                    YField = new string[] { "VALUE_MIN" }
                                }
                             }
                        }
                    }
                };
    
                panel.Items.Add(pnl);
                pnl.Render();
            }
        }
    }
    Thanks!
    Paggy
  8. #8
    Thank you. In the future, please try to make samples runnable without any changes required from our side.

    I had to remove the dependence from "Resources":
    Text="<%# @Resources.AmsResource.BUTTON_SEARCH %>"
    and other.

    Also you can put all the code behind to the ASPX page. The same as you did with the ExportSvg method.

    Your sample doesn't reproduce the problem on my side. It works. I am testing in FireFox with the latest Ext.NET from the SVN trunk. What are your conditions?
  9. #9
    Quote Originally Posted by Daniil View Post
    Thank you. In the future, please try to make samples runnable without any changes required from our side.

    I had to remove the dependence from "Resources":
    Text="<%# @Resources.AmsResource.BUTTON_SEARCH %>"
    and other.

    Also you can put all the code behind to the ASPX page. The same as you did with the ExportSvg method.

    Your sample doesn't reproduce the problem on my side. It works. I am testing in FireFox with the latest Ext.NET from the SVN trunk. What are your conditions?
    Hi Daniil,

    Thanks, I found the issue now, it related to encoding issue, is there any possible that I can export the chart in the code behind? can I change to code below into C# code?

    var svg = Ext.htmlEncode(Ext.draw.engine.SvgExporter.generate(Ext.getCmp('ChartPanel').down('panel').down('chart').surface));
    App.direct.ExportSvg(svg, { isUpload: true });
    Last edited by Geenin; Jan 22, 2014 at 10:35 AM.
  10. #10
    Quote Originally Posted by Paggy View Post
    Thanks, I found the issue now, it related to encoding issue
    Please clarify what is that? Why was I not able to reproduce it running your sample?


    Quote Originally Posted by Paggy View Post
    is there any possible that I can export the chart in the code behind? can I change to code below into C# code?

    var svg = Ext.htmlEncode(Ext.draw.engine.SvgExporter.generate(Ext.getCmp('ChartPanel').down('panel').down('chart').surface));
    App.direct.ExportSvg(svg, { isUpload: true });
    Well, the answer is no. In any way, you have to send an SVG string to server from client.
Page 1 of 2 12 LastLast

Similar Threads

  1. Replies: 2
    Last Post: Jan 17, 2014, 11:11 AM
  2. [CLOSED] charts from code behind not showing
    By tMp in forum 2.x Legacy Premium Help
    Replies: 7
    Last Post: Jan 17, 2014, 4:15 AM
  3. [CLOSED] Charts created in code behind
    By cwolcott in forum 2.x Legacy Premium Help
    Replies: 2
    Last Post: Oct 31, 2012, 5:35 PM
  4. [CLOSED] Problem with Ext.draw.engine.SvgExporter
    By feanor91 in forum 2.x Legacy Premium Help
    Replies: 4
    Last Post: Sep 21, 2012, 10:39 AM
  5. [CLOSED] I need to create charts from code behind, but how to?
    By feanor91 in forum 2.x Legacy Premium Help
    Replies: 4
    Last Post: Jun 06, 2012, 11:29 AM

Posting Permissions