You're viewing the legacy site. Visit cxjs.io/docs for the latest documentation. Legacy site. Visit cxjs.io/docs for new docs.

Documentation

Report Edit

Bar Chart Example

This example shows how to connect grid and chart. Sorting and selection in the grid is applied to the chart too.

New WaylonPalmafurtAustinboroughPagacstadGudrunsideWeissnathavenDachvilleJerodlandSouth BetsyNorth GerardLake ShanyLake Fred050100150200250300
City
V1
V2
V3
New Waylon113.89215.21210.88
Palmafurt121.46258.61232.98
Austinborough109.84187.55212.47
Pagacstad94.88219.73178.28
Gudrunside91.05150.85162.27
Weissnathaven97.68179.27164.78
Dachville90.10208.07197.45
Jerodland81.69223.17228.78
South Betsy76.54199.74164.39
North Gerard64.56209.53167.27
Lake Shany75.53159.19185.69
Lake Fred65.43171.45116.75
var legendStyle = "border-width:1px;border-style:solid;display:inline-block;width:20px;height:10px;";
<Svg style="width:600px; height:600px;">
   <Chart offset="20 -20 -40 150" axes={{ y: { type: CategoryAxis, vertical: true, inverted: true }, x: { type: NumericAxis, snapToTicks: 1 } }}>
      <Gridlines/>
      <Repeater records-bind="$page.points" recordAlias="$point" sorters-bind="$page.sorters">
         <Bar colorIndex={0}
              height={0.2}
              offset={-0.2}
              x-bind="$point.v1"
              y-bind="$point.city"
              selection={barSelection}
              tooltip-tpl="{$point.v1:n;0}" />

         <Bar colorIndex={2}
              height={0.2}
              offset={0}
              x-bind="$point.v2"
              y-bind="$point.city"
              selection={barSelection}
              tooltip-tpl="{$point.v2:n;0}" />

         <Bar colorIndex={4}
              height={0.2}
              offset={0.2}
              x-bind="$point.v3"
              y-bind="$point.city"
              selection={barSelection}
              tooltip-tpl="{$point.v3:n;0}" />
      </Repeater>
   </Chart>
</Svg>
<Grid records-bind="$page.points"
      sorters-bind="$page.sorters"
      columns={[
         { header: 'City', field: 'city', sortable: true },
         { field: 'v1', format: 'n;2', align: "right", sortable: true,
            header: {
               items: <cx>
                  <div preserveWhitespace>
                     V1
                     <div class="cxs-color-0" style={legendStyle}></div>
                  </div>
               </cx>
            }
         },
         { field: 'v2', format: 'n;2', align: "right", sortable: true,
            header: {
               items: <cx>
                  <div preserveWhitespace>
                      V2
                      <div class="cxs-color-2" style={legendStyle}></div>
                  </div>
               </cx>
            }
         },
         { field: 'v3', format: 'n;2', align: "right", sortable: true,
            header: {
            items: <cx>
               <div preserveWhitespace>
                   V3
                   <div class="cxs-color-4" style={legendStyle}></div>
               </div>
            </cx>
            }
         }
      ]}
      selection={{type: PropertySelection, keyField: 'id', bind: '$page.selection' }}/>
Copied!Cx Fiddle