JavaScript must be enabled in order for you to use JSXGraph and JSXGraph reference. However, it seems JavaScript is either disabled or not supported by your browser.

Class Index | File Index

Elements
Classes

Element Legend

JXG.GeometryElement
   ↳ JXG.Legend
         ↳ Legend

Creates a legend for a chart element. Parameter is a pair of coordinates. The label names and the label colors are supplied in the attributes:



Defined in: chart.js.
Extends JXG.Legend.

Element Summary
Constructor Attributes Constructor Name and Description
 
Attributes Summary
Field Attributes Field Name and Description
 
(Circular) array of label colors.
 
The element is fixed and can not be dragged around.
 
Label names of a legend element.
 
Length of line in one legend entry
 
Height (in px) of one legend entry
 
(Circular) array of opacity for legend line stroke color for one legend entry.
 
Height (in px) of one legend entry
 
Default style of a legend element.
Methods borrowed from class JXG.Legend:
drawVerticalLegend
Methods borrowed from class JXG.GeometryElement:
_set, addChild, addDescendants, addParents, addParentsFromJCFunctions, addRotation, addTicks, addTransform, animate, bounds, clearTrace, cloneToBackground, countChildren, createGradient, createLabel, draggable, eval, evalVisProp, formatNumberLocale, fullUpdate, generatePolynomial, getAttribute, getAttributes, getLabelAnchor, getName, getParents, getProperty, getSnapSizes, getTextAnchor, getType, handleSnapToGrid, hasPoint, hide, hideElement, noHighlight, normalize, prepareUpdate, remove, removeAllTicks, removeChild, removeDescendants, removeTicks, resolveShortcuts, setArrow, setAttribute, setDash, setDisplayRendNode, setLabel, setLabelText, setName, setParents, setPosition, setPositionDirectly, setProperty, show, showElement, snapToPoints, update, updateRenderer, updateVisibility, useLocale
Events borrowed from class JXG.GeometryElement:
attribute, attribute:key, down, drag, keydrag, mousedown, mousedrag, mousemove, mouseout, mouseover, mouseup, move, out, over, pendown, pendrag, penup, touchdown, touchdrag, touchup, up
Element Detail
Legend
This element has no direct constructor. To create an instance of this element you have to call JXG.Board#create with type "legend".

Possible parent array combinations are:
{Number} x

Horizontal coordinate of the left top point of the legend


{Number} y

Vertical coordinate of the left top point of the legend


Throws:
{Exception}
If the element cannot be constructed with the given parent objects an exception is thrown.
Examples:
var board = JXG.JSXGraph.initBoard('jxgbox', {axis:true,boundingbox:[-4,48.3,12.0,-2.3]});
var x       = [-3,-2,-1,0,1,2,3,4,5,6,7,8];
var dataArr = [4,7,7,27,33,37,46,22,11,4,1,0];

colors = ['green', 'yellow', 'red', 'blue'];
board.create('chart', [x,dataArr], {chartStyle:'bar', width:1.0, labels:dataArr, colors: colors} );
board.create('legend', [8, 45], {labels:dataArr, colors: colors, strokeWidth:5} );


				
				
  var inputFun, cf = [], cf2 = [], niveaunum,
    niveauline = [], niveauopac = [],legend;

  inputFun = "x^2/2-2*x*y+y^2/2";
  niveauline = [-3,-2,-1,-0.5, 0, 1,2,3];
  niveaunum = niveauline.length;
  for (let i = 0; JXG.Math.lt(i, niveaunum); i++) {
    let niveaui = niveauline[i];
    niveauopac.push(((i + 1) / (niveaunum + 1)));
    cf.push(board.create("implicitcurve", [
      inputFun + "-(" + niveaui.toFixed(2) + ")", [-2, 2], [-2, 2]], {
      strokeWidth: 2,
      strokeColor: JXG.palette.red,
      strokeOpacity: niveauopac[i],
      needsRegularUpdate: false,
      name: "niveau"+i,
      visible: true
    }));
  }
  legend = board.create('legend', [-1.75, 1.75], {
    labels: niveauline,
    colors: [cf[0].visProp.strokecolor],
    strokeOpacity: niveauopac,
    linelength: 0.2,
    frozen:true
  }
  );


Attribute Detail
{Array} colors
(Circular) array of label colors.
Defined in: options.js.
Default Value:
"['#B02B2C', '#3F4C6B', '#C79810', '#D15600', '#FFFF88', '#c3d9ff', '#4096EE', '#008C00']"

{Boolean} frozen
The element is fixed and can not be dragged around. The legend will even stay at its position on zoom and moveOrigin events.
Defined in: options.js.
See:
JXG.GeometryElement#frozen
Default Value:
false

{Array} labels
Label names of a legend element.
Defined in: options.js.
Default Value:
"['1', '2', '3', '4', '5', '6', '7', '8']"

{Number} lineLength
Length of line in one legend entry
Defined in: options.js.
Default Value:
1

{Number} rowHeight
Height (in px) of one legend entry
Defined in: options.js.
Default Value:
20

{Array} strokeOpacity
(Circular) array of opacity for legend line stroke color for one legend entry.
Defined in: options.js.
Default Value:
[1]

{Number} strokeWidth
Height (in px) of one legend entry
Defined in: options.js.
Default Value:
5

{String} style
Default style of a legend element. The only possible value is 'vertical'.
Defined in: options.js.
Default Value:
'vertical'

Attributes borrowed from other Elements
Attributes borrowed from class JXG.GeometryElement:
aria, cssClass, dash, dashScale, draft, dragToTopOfLayer, element3D, fillColor, fillOpacity, fixed, gradient, gradientAngle, gradientCX, gradientCY, gradientEndOffset, gradientFR, gradientFX, gradientFY, gradientR, gradientSecondColor, gradientSecondOpacity, gradientStartOffset, highlight, highlightCssClass, highlightFillColor, highlightFillOpacity, highlightStrokeColor, highlightStrokeOpacity, highlightStrokeWidth, isLabel, layer, lineCap, needsRegularUpdate, nonnegativeOnly, precision, priv, rotatable, scalable, shadow, snapToGrid, strokeColor, tabindex, trace, traceAttributes, transitionDuration, transitionProperties, visible, withLabel

Fields borrowed from other Elements
Fields borrowed from class JXG.GeometryElement:
_org_type, _pos, ancestors, baseElement, board, childElements, descendants, dump, elementClass, elType, hasLabel, highlighted, id, inherits, isDraggable, isReal, lastDragTime, methodMap, mouseover, name, needsUpdate, notExistingParents, numTraces, parents, quadraticform, rendNode, stdform, subs, symbolic, traces, transformations, type, visProp, visPropCalc

Methods borrowed from other Elements
Methods borrowed from class JXG.Legend:
drawVerticalLegend
Methods borrowed from class JXG.GeometryElement:
_set, addChild, addDescendants, addParents, addParentsFromJCFunctions, addRotation, addTicks, addTransform, animate, bounds, clearTrace, cloneToBackground, countChildren, createGradient, createLabel, draggable, eval, evalVisProp, formatNumberLocale, fullUpdate, generatePolynomial, getAttribute, getAttributes, getLabelAnchor, getName, getParents, getProperty, getSnapSizes, getTextAnchor, getType, handleSnapToGrid, hasPoint, hide, hideElement, noHighlight, normalize, prepareUpdate, remove, removeAllTicks, removeChild, removeDescendants, removeTicks, resolveShortcuts, setArrow, setAttribute, setDash, setDisplayRendNode, setLabel, setLabelText, setName, setParents, setPosition, setPositionDirectly, setProperty, show, showElement, snapToPoints, update, updateRenderer, updateVisibility, useLocale

Events borrowed from other Elements
Events borrowed from class JXG.GeometryElement:
attribute, attribute:key, down, drag, keydrag, mousedown, mousedrag, mousemove, mouseout, mouseover, mouseup, move, out, over, pendown, pendrag, penup, touchdown, touchdrag, touchup, up
Documentation generated by JsDoc Toolkit 2.4.0 on Mon Mar 31 2025 12:39:08 GMT+0200 (Mitteleuropäische Sommerzeit)