Generating a Scrolling Legend

How to:

If there are too many series to fit in the chart frame, you can enable a scrolling legend and format the properties of the scroll bar and scroll handle. The scrollbar will not appear unless it is necessary in order to display the entire legend.

Syntax: How to Generate a Scrolling Legend

legend:
  {
  scroll: {
     enabled: boolean,
     size: snumber, 
     color: 'scrollcolor',  
     handle: { 
        color: 'handlecolor',
        hoverColor: 'hovercolor',
        border: {
            width: bnumber, 
            color: 'bcolor',
            dash: 'bdash'
                    }
                  }
           }
  }

where:

boolean

Controls whether the legend will be scrollable when necessary. Valid values are:

  • true, which enables legend scrolling.
  • false, which disables legend scrolling. This is the default value.
snumber

Defines the width of the scroll bar in pixels. The default value is 15.

'scrollcolor'

Is a color or gradient definition string the defines the fill color of the scroll bar. The default color is 'rgb(240, 240, 240)'.

'handlecolor'

Is a color definition string that defines the color of the scroll bar handle. The default color is 'grey'.

'hovercolor'

Is a color definition string that defines the color of the scroll bar handle when the mouse hovers over it or clicks on it. The default color is 'rgb(88, 88, 88)'.

bnumber

Defines the width of the handle border in pixels. The default value is 0.

'bcolor'

Is a color definition string that defines the color of the handle border. The default value is 'transparent'.

'bdash'

Is a string that defines the dash style of the border. The default value is '' (a solid line). Use a string of numbers that defines the width of a dash in pixels followed by the width of the gap between dashes in pixels (for example, dash: '1 1' draws a dotted line).

Multiple dashes can be defined within the dash string (for example, '2 4 4 2'), in which case, the dash types will alternate along the border.

Example: Generating a Scrolling Legend

The following request generates a scrolling legend. The scroll bar fill color is a linear gradient that transitions from teal to cyan, the handle color is silver with a black border, and the fill color becomes orchid when the mouse hovers over or clicks it.

GRAPH FILE WF_RETAIL_LITE
SUM COGS_US GROSS_PROFIT_US MSRP_US REVENUE_US DISCOUNT_US
COGS_LOCAL GROSS_PROFIT_LOCAL MSRP_LOCAL REVENUE_LOCAL DISCOUNT_LOCAL 
BY PRODUCT_CATEGORY
ON GRAPH SET VAXIS 150
ON GRAPH PCHOLD FORMAT JSCHART
ON GRAPH SET LOOKGRAPH BAR
ON GRAPH SET STYLE *
INCLUDE=IBFS:/FILE/IBI_HTML_DIR/javaassist/intl/EN/combine_templates/ENID_Default.sty,$
*GRAPH_JS
xaxis: {labels:{rotation:0}},
legend: {
   scroll: {
      enabled: true, 
      size: 15, 
      color:'linear-gradient(0,0,100%,100%, 20% teal, 95% cyan)',
      handle: { 
        color: 'silver',
        hoverColor: 'orchid',
        border: {
          width: 3, 
          color: 'black',
          dash: ''
                 }
               }
            },
         },
*END
TYPE=DATA, COLUMN=N2, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N3, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N4, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N5, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N6, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N7, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N8, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N9, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N10, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N11, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N1, BUCKET=x-axis, $ 
ENDSTYLE
END

The following image shows the scroll bar before it is clicked:

The following image shows the scroll bar handle dragged to the bottom of the legend area:

WebFOCUS

Feedback