Radial Scatter chart API reference

Summary: Documentation about the Radial scatter chart including information about all of the options that are available to you. A Radial Scatter chart is just like a regular Scatter chart but displayed in a circular fashion instead of a rectangular one.

Example

<script>
    // The data that is used for the chart. The first argument is the
    // angle and the second argument is the magnitude shown.
    data = [ [15,53,'red'], [45,63,null, 'The tooltip'], [48,45,'green'], [52,38], [51,61] ];

    new RGraph.RScatter({
        id: 'cvs',
        data: data,
        options: {
            labels: ['NE','E','SE','S','SW','W','NW','N'],
            marginLeft: 35,
            marginRight: 35
        }
    }).draw();
</script>

Properties

You can use these properties to control how the chart appears. You can set them by including them in the options section of the configuration as is shown above.

Chart configuration properties

PropertyDescriptionDefault
centerxIf required, you can position the RScatter chart using this instead of the margins.null
centeryIf required, you can position the RScatter chart using this instead of the margins.null
radiusIf required, you can size the RScatter chart using this instead of the margins.null
centerx
If required, you can position the RScatter chart using this instead of the margins.
Default: null

centery
If required, you can position the RScatter chart using this instead of the margins.
Default: null

radius
If required, you can size the RScatter chart using this instead of the margins.
Default: null

Background properties

PropertyDescriptionDefault
backgroundGridWhether the background grid is drawn.true
backgroundGridColorThe color of the background grid.#ccc
backgroundGridRadialsWhether the lines that emanate from center outwards are drawn.true
backgroundGridRadialsCountThe number of diagonal lines in the background grid.null
backgroundGridCirclesWhether the background grid circles (or angular lines) are drawn.true
backgroundGridCirclesCountHow many circular/angular grid lines are drawn.5
backgroundGridLinewidthThe linewidth of the background grid.1
backgroundColorThe background color of the chart. You can use gradients here if you wish.none
backgroundGrid
Whether the background grid is drawn.
Default: true

backgroundGridColor
The color of the background grid.
Default: #ccc

backgroundGridRadials
Whether the lines that emanate from center outwards are drawn.
Default: true

backgroundGridRadialsCount
The number of diagonal lines in the background grid.
Default: null

backgroundGridCircles
Whether the background grid circles (or angular lines) are drawn.
Default: true

backgroundGridCirclesCount
How many circular/angular grid lines are drawn.
Default: 5

backgroundGridLinewidth
The linewidth of the background grid.
Default: 1

backgroundColor
The background color of the chart. You can use gradients here if you wish.
Default: none

Margin properties

PropertyDescriptionDefault
marginLeftThe left margin of the chart, (the margin is where the labels and title are)).25
marginRightThe right margin of the chart, (the margin is where the labels and title are).25
marginTopThe top margin of the chart, (the margin is where the labels and title are).25
marginBottomThe bottom margin of the chart, (the margin is where the labels and title are).25
marginLeft
The left margin of the chart, (the margin is where the labels and title are)).
Default: 25

marginRight
The right margin of the chart, (the margin is where the labels and title are).
Default: 25

marginTop
The top margin of the chart, (the margin is where the labels and title are).
Default: 25

marginBottom
The bottom margin of the chart, (the margin is where the labels and title are).
Default: 25

color properties

PropertyDescriptionDefault
colorsDefaultThe default color that's used for the tickmarks.black
colorsDefault
The default color that's used for the tickmarks.
Default: black

Labels and text properties

PropertyDescriptionDefault
textAccessibleA new feature in 2016 that allows you to use DOM text in place of canvas text. It makes for much higher quality text that you can also select if desired (for copy/paste operations). It won't fit all situations and you can read more about the DOM text feature here. A good way to control borders/margins/padding etc is not to set them on the canvas but to wrap the canvas in a div and set them on that like this:
<div style="margin-left: 50px; display: inline-block">
<canvas id="cvs" width="650" height="250"></canvas>
</div>
true
textAccessibleOverflowThis can be visible or hidden and it controls whether the text is clipped to the edges of the canvas. It defaults to be visible and means you can set small margins if you wish.visible
textAccessiblePointereventsThis controls whether the DOM text responds to mouse based events or not (it sets the pointer-events CSS property to none).true
textColorThe color of the text on the chart.black
textSizeThe size of the text on the chart.12
textFontThe font used to render the text on the chart.Arial, Verdana, sans-serif
textItalicWhether the text on the chart is italic or not.false
textBoldWhether the text on the chart is bold or not.false
labelsThe circular labels, if any, for the chart.none
labelsFontThe font used by the circular labels.null (same as textFont)
labelsSizeThe size of the circular labels.null (same as textSize)
labelsColorThe color of the circular labels.null (same as textColor)
labelsBoldWhether the circular labels are bold or not.null (same as textBold)
labelsItalicWhether the circular labels are italic or not.null (same as textItalic)
labelsAxesThis controls the axes that show the scale labels. It should be a combination of 4 letters: n, e, s, w Each letter stands for the appropriate axis (North, South, East and West).n
labelsAxesBackgroundThis is the color of the background for the labels.rgba(255,255,255,0.7)
labelsAxesFontThe font used for the labels on the axes.null
labelsAxesSizeThe size of the labels on the axes.null
labelsAxesColorThe color of the labels on the axes.null
labelsAxesBoldWhether the labels on the axes are bold or not.null
labelsAxesItalicWhether the labels on the axes are italic or not.null
labelsPositionThis can be either center or edge and determines the position of the labels.center
textAccessible
A new feature in 2016 that allows you to use DOM text in place of canvas text. It makes for much higher quality text that you can also select if desired (for copy/paste operations). It won't fit all situations and you can read more about the DOM text feature here. A good way to control borders/margins/padding etc is not to set them on the canvas but to wrap the canvas in a div and set them on that like this:
<div style="margin-left: 50px; display: inline-block">
<canvas id="cvs" width="650" height="250"></canvas>
</div>

Default: true

textAccessibleOverflow
This can be visible or hidden and it controls whether the text is clipped to the edges of the canvas. It defaults to be visible and means you can set small margins if you wish.
Default: visible

textAccessiblePointerevents
This controls whether the DOM text responds to mouse based events or not (it sets the pointer-events CSS property to none).
Default: true

textColor
The color of the text on the chart.
Default: black

textSize
The size of the text on the chart.
Default: 12

textFont
The font used to render the text on the chart.
Default: Arial, Verdana, sans-serif

textItalic
Whether the text on the chart is italic or not.
Default: false

textBold
Whether the text on the chart is bold or not.
Default: false

labels
The circular labels, if any, for the chart.
Default: none

labelsFont
The font used by the circular labels.
Default: null (same as textFont)

labelsSize
The size of the circular labels.
Default: null (same as textSize)

labelsColor
The color of the circular labels.
Default: null (same as textColor)

labelsBold
Whether the circular labels are bold or not.
Default: null (same as textBold)

labelsItalic
Whether the circular labels are italic or not.
Default: null (same as textItalic)

labelsAxes
This controls the axes that show the scale labels. It should be a combination of 4 letters: n, e, s, w Each letter stands for the appropriate axis (North, South, East and West).
Default: n

labelsAxesBackground
This is the color of the background for the labels.
Default: rgba(255,255,255,0.7)

labelsAxesFont
The font used for the labels on the axes.
Default: null

labelsAxesSize
The size of the labels on the axes.
Default: null

labelsAxesColor
The color of the labels on the axes.
Default: null

labelsAxesBold
Whether the labels on the axes are bold or not.
Default: null

labelsAxesItalic
Whether the labels on the axes are italic or not.
Default: null

labelsPosition
This can be either center or edge and determines the position of the labels.
Default: center

Title properties

PropertyDescriptionDefault
titleThe title of the chart, if any.null
titleFontThe font that the title is rendered in. If not specified the textFont setting is used (usually Arial).null
titleSizeThe size of the title. If not specified the size is usually 2pt bigger than the textSize setting.null
titleBoldWhether the title is bold or not.null
titleItalicWhether the title is italic or not.null
titleColorThe color of the title.null
titleBackgroundThe background color (if any) for the title.null
titleXTo give the exact X coordinate for the title - use this. This can also be a string like this: "-5" -- in which case it's converted to a number and added to the calculated coordinate - allowing you to adjust the calculated coordinate.null
titleYTo give the exact Y coordinate for the title - use this. This can also be a string like this: "-5" -- in which case it's converted to a number and added to the calculated coordinate - allowing you to adjust the calculated coordinate.null
title
The title of the chart, if any.
Default: null

titleFont
The font that the title is rendered in. If not specified the textFont setting is used (usually Arial).
Default: null

titleSize
The size of the title. If not specified the size is usually 2pt bigger than the textSize setting.
Default: null

titleBold
Whether the title is bold or not.
Default: null

titleItalic
Whether the title is italic or not.
Default: null

titleColor
The color of the title.
Default: null

titleBackground
The background color (if any) for the title.
Default: null

titleX
To give the exact X coordinate for the title - use this. This can also be a string like this: "-5" -- in which case it's converted to a number and added to the calculated coordinate - allowing you to adjust the calculated coordinate.
Default: null

titleY
To give the exact Y coordinate for the title - use this. This can also be a string like this: "-5" -- in which case it's converted to a number and added to the calculated coordinate - allowing you to adjust the calculated coordinate.
Default: null

Key properties

The key properties are documented on the key documentation page.

Scale properties

PropertyDescriptionDefault
scaleMaxThe maximum value of the scale on the chart. By default this is generated based on the data that you supply.null
scaleUnitsPreUnits that are prepended to the number..
scaleUnitsPostUnits that are appended to the number..
scalePointThe character used as the decimal point..
scaleThousandThe character used as the thousand separator.,
scaleDecimalsThis stipulates how many decimal places there are.0
scaleZerostartIf true then the zero label will be shown (this is the default now).true
scaleMax
The maximum value of the scale on the chart. By default this is generated based on the data that you supply.
Default: null

scaleUnitsPre
Units that are prepended to the number.
Default: .

scaleUnitsPost
Units that are appended to the number.
Default: .

scalePoint
The character used as the decimal point.
Default: .

scaleThousand
The character used as the thousand separator.
Default: ,

scaleDecimals
This stipulates how many decimal places there are.
Default: 0

scaleZerostart
If true then the zero label will be shown (this is the default now).
Default: true

Axes properties

PropertyDescriptionDefault
axesColorThe color of the axes.rgba(0,0,0,0)
axesColor
The color of the axes.
Default: rgba(0,0,0,0)

Interactive features properties

PropertyDescriptionDefault
contextmenuAn array of context menu items. More information about context menus is here.[] (An empty array)
tooltipsA numerically indexed array of tooltips that are shown when a bar is clicked. These can contain HTML.An empty array
tooltipsEffectThe effect used for showing tooltips. Can be either fade or none.fade
tooltipsEventThis is the event that triggers the tooltips. It can be either click or mousemove.click
tooltipsCssClassThis is the name of the CSS class the chart uses.RGraph_tooltip
tooltipsOverrideIf you wish to handle showing tooltips yourself, this should be a function object which does just that. There's more information in the tooltips documentation page.null
tooltipsNohideonclearNot an option that you'll need particularly often if at all. Setting this to true means that when you call the RGraph.clear() API function tooltips do not get hidden.false
annotatableWhether annotations are enabled for the chart (ie you can draw on the chart interactively.false
annotatableColorIf you do not allow the use of the palette, then this will be the only color allowed for annotations.black
annotatableLinewidthThis is the linewidth of the annotations.1
contextmenu
An array of context menu items. More information about context menus is here.
Default: [] (An empty array)

tooltips
A numerically indexed array of tooltips that are shown when a bar is clicked. These can contain HTML.
Default: An empty array

tooltipsEffect
The effect used for showing tooltips. Can be either fade or none.
Default: fade

tooltipsEvent
This is the event that triggers the tooltips. It can be either click or mousemove.
Default: click

tooltipsCssClass
This is the name of the CSS class the chart uses.
Default: RGraph_tooltip

tooltipsOverride
If you wish to handle showing tooltips yourself, this should be a function object which does just that. There's more information in the tooltips documentation page.
Default: null

tooltipsNohideonclear
Not an option that you'll need particularly often if at all. Setting this to true means that when you call the RGraph.clear() API function tooltips do not get hidden.
Default: false

annotatable
Whether annotations are enabled for the chart (ie you can draw on the chart interactively.
Default: false

annotatableColor
If you do not allow the use of the palette, then this will be the only color allowed for annotations.
Default: black

annotatableLinewidth
This is the linewidth of the annotations.
Default: 1

Line properties

PropertyDescriptionDefault
lineIf true the points will be connected by a line.false
lineCloseIf true then the line will be closed (ie last point connects back to the first point).false
lineLinewidthThe linewidth of the line.1
lineColorsThe color(s) of the line(s).['black']
lineShadowWhether the lines have a shadow.false
lineShadowColorThe color of the shadow.black
lineShadowOffsetxThe horizontal offset of the shadow.3
lineShadowOffsetyThe vertical offset of the shadow.3
lineShadowBlurThe severity of the shadow blurring effect.2
line
If true the points will be connected by a line.
Default: false

lineClose
If true then the line will be closed (ie last point connects back to the first point).
Default: false

lineLinewidth
The linewidth of the line.
Default: 1

lineColors
The color(s) of the line(s).
Default: ['black']

lineShadow
Whether the lines have a shadow.
Default: false

lineShadowColor
The color of the shadow.
Default: black

lineShadowOffsetx
The horizontal offset of the shadow.
Default: 3

lineShadowOffsety
The vertical offset of the shadow.
Default: 3

lineShadowBlur
The severity of the shadow blurring effect.
Default: 2

Miscellaneous properties

PropertyDescriptionDefault
highlightStyleBy default this is null but you can set it to a function if you wish so that function is called to do the chart highlighting. Its passed the shape object as an argument.null
cleartoThis is used in animations and effects as the default color to use when clearing the canvas.null
segmentHighlightIf you wish you can have segments of the chart highlight as you move the mouse around.false
segmentHighlightCountThe number of segments by default corresponds to the number of "radials" that the background grid has but using this property you can set it explicitly.null
segmentHighlightFillThe fill color of the highlight.rgba(0,255,0,0.5)
segmentHighlightStrokeThe stroke color of the highlight.rgba(0,0,0,0)
highlightStyle
By default this is null but you can set it to a function if you wish so that function is called to do the chart highlighting. Its passed the shape object as an argument.
Default: null

clearto
This is used in animations and effects as the default color to use when clearing the canvas.
Default: null

segmentHighlight
If you wish you can have segments of the chart highlight as you move the mouse around.
Default: false

segmentHighlightCount
The number of segments by default corresponds to the number of "radials" that the background grid has but using this property you can set it explicitly.
Default: null

segmentHighlightFill
The fill color of the highlight.
Default: rgba(0,255,0,0.5)

segmentHighlightStroke
The stroke color of the highlight.
Default: rgba(0,0,0,0)

Methods

obj.get(name)
An accessor that you can use to retrieve the values of properties.

obj.set(name, value)
An accessor that you can use to set the values of properties.

obj.getShape(event)
This method makes it easy to get hold of which point has been clicked on or hovered over. It returns an object which has the following indexes available:
object The chart object
x This is the X coordinate of the point.
y This is the Y coordinate of the point.
dataset This is the zero-indexed index of the dataset that the point belongs to.
index The zero-indexed index of the point on the chart.
sequentialIndex This is the zero-indexed sequential index of the point on the chart.
tooltip If a tooltip is associated with this point this will be it. id: strings are expanded for you (where the tooltip text is retrieved from the HTML tag with the matching ID).
<script>
    rscatter.canvas.onclick = function (e)
    {
        RGraph.redraw();
    
        var canvas  = e.target,
            obj     = canvas.__object__,
            shape   = obj.getShape(e);

        if (shape) {

            var x = shape.x,
                y = shape.y;

            // Path a circle that indicates the point
            RGraph.path({
                object: obj,
                  path: 'b a % % 5 0 6.29 false s red f red',
                  args: [x, y]
            });
        }
    }
</script>

obj.getRadius(value)

This method can be used to get an appropriate radius of a point based on the scale. This is useful when working out how far away from the center a point should be. In a set of coordinates, the first value is the rotational value in degrees - it can be 0-360.


obj.on(event, function)

This method can be used to set an event listener on an object. It operates in a similar way to the jQuery on() function. The first argument is the event that you wish to attach to and the second is the handler function. For example:

obj.on('draw', function (obj)
{
    // Put your event code here
});

The function is useful if you use method chaining when creating your charts:

var obj = new RGraph.RScatter({
    id: 'cvs',
    data: [[45,36],[48,68],[66,56],[95,35],[120,45],[155,65]]
}).on('draw', function (obj)
{
    // Put your draw event code here

}).on('click', function (e, shape)
{
    // Put your click event code here
}).draw();

obj.exec(function)

The exec function is documented here.


Custom RGraph events that are available

Custom RGraph events are events that RGraph fires when certain actions occur. There is a more comprehensive list of these events here . Here's some example code that show you how to add these events to your chart.

There's more documentation about events available here: Summary of events documentation

<script>
    rscatter = new RGraph.RScatter({
        id: 'cvs',
        data: [[10,10],[20,20],[30,30],[40,40],[50,50]],
        options: {
        }
    }).draw().on('click', function (e, shape)
    {
        // Add your click event listener code here

    }).on('mousemove', function (e, shape)
    {
        // Add your mousemove event listener code here

    }).on('mouseover', function (e, shape)
    {
        // Add your mouseover event listener code here

    }).on('mouseout', function (obj)
    {
        // Add your mouseout event listener code here
    });
</script>