• Edit
  • Download
  • <!DOCTYPE html>
    <html>
    
    <head>
      <meta charset="utf-8">
      <title>ZingSoft Demo</title>
      <script nonce="undefined" src="https://cdn.zingchart.com/zingchart.min.js"></script>
      <style>
        html,
        body {
          margin: 0;
          padding: 0;
          width: 100%;
          height: 100%;
        }
    
        .chart--container {
          min-height: 150px;
          width: 100%;
          height: 100%;
        }
    
        .zc-ref {
          display: none;
        }
      </style>
    </head>
    
    <body>
      <!-- CHART CONTAINER -->
      <div id="myChart" class="chart--container">
        <a class="zc-ref" href="https://www.zingchart.com/">Powered by ZingChart</a>
      </div>
      <script>
        ZC.LICENSE = ["569d52cefae586f634c54f86dc99e6a9", "b55b025e438fa8a98e32482b5f768ff5"];
    
        function customRules(e) {
          console.log(e);
          let {
            scaletext,
            scaleval,
            nodeindex
          } = e;
          console.log(`scaletext: ${scaletext}, scaleval: ${scaleval}, nodeindex: ${nodeindex}`);
        }
    
        // window:load event for Javascript to run after HTML
        // because this Javascript is injected into the document head
        window.addEventListener('load', () => {
          // Javascript code to execute after DOM content
    
          // full ZingChart schema can be found here:
          // https://www.zingchart.com/docs/api/json-configuration/
          let chartConfig = {
            type: 'bar',
            globals: {
              fontSize: '14px'
            },
            title: {
              text: 'Conditional Formatting Rules',
              fontSize: '24px'
            },
            legend: {
              draggable: true
            },
            // plot represents general series, or plots, styling
            plot: {
              // hoverstate
              tooltip: {
                // % symbol represents a token to insert a value. Full list here:
                // https://www.zingchart.com/docs/tutorials/chart-elements/zingchart-tokens/
                text: '%plot-text %kl was %v (&deg;F)',
                borderRadius: '3px',
                // htmlMode renders text attribute as html so
                // &deg; is rendered
                htmlMode: true
              },
              valueBox: {
                color: '#fff',
                placement: 'top-in'
              },
              // animation docs here:
              // https://www.zingchart.com/docs/tutorials/design-and-styling/chart-animation/#animation__effect
              animation: {
                effect: 'ANIMATION_EXPAND_BOTTOM',
                method: 'ANIMATION_STRONG_EASE_OUT',
                sequence: 'ANIMATION_BY_NODE',
                speed: 275
              },
              jsRule: 'customRules()',
              rules: [{
                  rule: '"%kl" == "Tue"',
                  backgroundColor: 'red'
                },
                {
                  rule: '"%kt" == "Wed"',
                  backgroundColor: 'red'
                },
                {
                  rule: '"%kv" == "4"',
                  backgroundColor: 'red'
                },
                {
                  rule: '%kv == 5',
                  backgroundColor: 'green'
                }
              ]
            },
            scaleX: {
              // set scale label
              label: {
                text: 'Days'
              },
              // convert text on scale indices
              labels: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            },
            scaleY: {
              // scale label with unicode character
              label: {
                text: 'Temperature (°F)'
              }
            },
            // plot values
            series: [{
                text: 'Week 1',
                values: [23, 20, 27, 29, 25, 17, 15],
                backgroundColor: '#64b5f6'
              },
              {
                text: 'Week 2',
                values: [35, 42, 33, 49, 35, 47, 35],
                backgroundColor: '#ffb74d'
              }
            ]
          };
    
          // render chart
          zingchart.render({
            id: 'myChart',
            data: chartConfig,
            height: '100%',
            width: '100%',
          });
        });
      </script>
    </body>
    
    </html>
    <!DOCTYPE html>
    <html>
    
    <head>
      <meta charset="utf-8">
      <title>ZingSoft Demo</title>
      <script src="https://cdn.zingchart.com/zingchart.min.js"></script>
    </head>
    
    <body>
      <!-- CHART CONTAINER -->
      <div id="myChart" class="chart--container">
        <a class="zc-ref" href="https://www.zingchart.com/">Powered by ZingChart</a>
      </div>
    </body>
    
    </html>
    html,
    body {
      margin: 0;
      padding: 0;
      width: 100%;
      height: 100%;
    }
    
    .chart--container {
      min-height: 150px;
      width: 100%;
      height: 100%;
    }
    
    .zc-ref {
      display: none;
    }
    function customRules(e) {
      console.log(e);
      let {
        scaletext,
        scaleval,
        nodeindex
      } = e;
      console.log(`scaletext: ${scaletext}, scaleval: ${scaleval}, nodeindex: ${nodeindex}`);
    }
    
    // window:load event for Javascript to run after HTML
    // because this Javascript is injected into the document head
    window.addEventListener('load', () => {
      // Javascript code to execute after DOM content
    
      // full ZingChart schema can be found here:
      // https://www.zingchart.com/docs/api/json-configuration/
      let chartConfig = {
        type: 'bar',
        globals: {
          fontSize: '14px'
        },
        title: {
          text: 'Conditional Formatting Rules',
          fontSize: '24px'
        },
        legend: {
          draggable: true
        },
        // plot represents general series, or plots, styling
        plot: {
          // hoverstate
          tooltip: {
            // % symbol represents a token to insert a value. Full list here:
            // https://www.zingchart.com/docs/tutorials/chart-elements/zingchart-tokens/
            text: '%plot-text %kl was %v (&deg;F)',
            borderRadius: '3px',
            // htmlMode renders text attribute as html so
            // &deg; is rendered
            htmlMode: true
          },
          valueBox: {
            color: '#fff',
            placement: 'top-in'
          },
          // animation docs here:
          // https://www.zingchart.com/docs/tutorials/design-and-styling/chart-animation/#animation__effect
          animation: {
            effect: 'ANIMATION_EXPAND_BOTTOM',
            method: 'ANIMATION_STRONG_EASE_OUT',
            sequence: 'ANIMATION_BY_NODE',
            speed: 275
          },
          jsRule: 'customRules()',
          rules: [{
              rule: '"%kl" == "Tue"',
              backgroundColor: 'red'
            },
            {
              rule: '"%kt" == "Wed"',
              backgroundColor: 'red'
            },
            {
              rule: '"%kv" == "4"',
              backgroundColor: 'red'
            },
            {
              rule: '%kv == 5',
              backgroundColor: 'green'
            }
          ]
        },
        scaleX: {
          // set scale label
          label: {
            text: 'Days'
          },
          // convert text on scale indices
          labels: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
        },
        scaleY: {
          // scale label with unicode character
          label: {
            text: 'Temperature (°F)'
          }
        },
        // plot values
        series: [{
            text: 'Week 1',
            values: [23, 20, 27, 29, 25, 17, 15],
            backgroundColor: '#64b5f6'
          },
          {
            text: 'Week 2',
            values: [35, 42, 33, 49, 35, 47, 35],
            backgroundColor: '#ffb74d'
          }
        ]
      };
    
      // render chart
      zingchart.render({
        id: 'myChart',
        data: chartConfig,
        height: '100%',
        width: '100%',
      });
    });