About
RGraph is a JavaScript charts library based on
HTML5 SVG and canvas. RGraph is mature (over 15 years
old) and has a wealth of features making it an ideal
choice to use for showing charts on your website.
Download
Get the latest version of RGraph (version 6.18, 1st June 2024) from
the download page. You can read the changelog here. There's also older versions available,
minified files and links to cdnjs.com hosted libraries.
License
RGraph can be used for free under the GPL or if
that doesn't suit your situation there's an
inexpensive (£129) commercial license available.The changelog
Current release: June 2024 (6.18)
-
Added the
verticalLines
property to both thecanvas
andsvg
Horizontal Bar charts
. This property is documented on the canvas Horizontal Bar chart API documentation page and SVG Horizontal Bar chart API documentation page -
The text on the
svg
charts can now be links. This includes the majority of the text including labels, titles, key, custom text etc - but not the scales. There are new properties available to all charts to allow you to configure the appearance of these links:textLinkColor
(blue)textLinkFont
(null)textLinkSize
(null)textLinkBold
(null)textLinkItalic
(null) -
Added the
labelsOffsetAngle
property to thecanvas
Rose chart
. -
Added the
RGraph.Line.dualColorTrendline
RGraph.Scatter.dualColorTrendline
RGraph.SVG.Line.dualColorTrendline
RGraph.SVG.Scatter.dualColorTrendline
shortcut functions that make creating dual colorLine charts
or dual colorScatter charts
easier. There are demos of doing so in thedemos
directory of the download archive calledline-trendline-dual-color.html
scatter-trendline.html
svg-line-trendline-dual-color.html
andsvg-scatter-trendline-dual-color.html
-
The
svg
Scatter chart
has had reference issues with the data resolved. Please contact me via the support forum if you come across any issues. -
The coordinates of the trendline on both the
canvas
andsvg
Line chart
andScatter chart
are now tracked in theobj.coordsTrendline
variable. Multiple trendlines are accounted for so the start and end X/Y coordinates for the first trendline are located inobj.coordsTrendline[0]
, the second set are inobj.coordsTrendline[1]
and so on. -
The
last
function that was added to theArray
prototype has been removed. An easy way to get the last element of anarray
is to use theat
function like this:myArray.at(-1)
-
Added an
RGraph.isNullish
function which not only checks fornull
but also checks forundefined
as well. All of the libraries have been converted to use this new function. -
Added the
anglesOffset
property to thecanvas
Rose chart
There's a new demo calledrose-rotating.html
that shows this and the below property. - Added the
labelsOffsetAngle
property to thecanvas
Rose chart
- Added the
labelsAxesBackground
property to theRose chart
-
With the
Horizontal Progress bar
, the defaultbackgroundColor
value has been changed to#eee
-
With the
Vertical Progress bar
, the defaultbackgroundColor
value has been changed to#eee
-
The
RGraph.arrayClone
function has been improved to better accommodate certain values. It has been changed from using theJSON.parse(JSON.stringify())
method to using a loop and checking the types of thearray
elements. -
The
Pie chart
now has a nice newwave
effect. Similar to theroundRobin
effect this effect gradually increases the size of theradius
of each segment independently but does not change the angles used by the segments. There's a demo in the download archive calleddemos/effect-pie-wave.html
-
When a
Bubble chart
is being shown if a bubble is on the edge of the chart the whole bubble now correctly activates a tooltip (should one be being shown). -
Bubble chart
data can now be given as both a multi-dimensionarray
as well as a flatarray
. This accommodates multiple datasets. -
Bubble charts
now accommodate multiple datasets (this is somewhat related to the previous item. -
When you're showing a
Bubble chart
with thesvg
Scatter chart
you can now add a drop-shadow effect to the bubbles. There are five extra properties available to you to control the shadow. Also, theBubble chart
tooltip hotspots now cover the entire bubble and the highlight does too. This change to the hotspots and highlighting also applies to thecanvas
Scatter chart
as well. -
There's now a
wave
effect for both thecanvas
andsvg
Rose charts
. - The coordinates variables that each chart object mantains are now documented on the respective charts documentation page.
-
The
coordsSpline
variable on theHorizontal Bar chart
object that gets populated with the coordinates of theVertical Spline
has been updated. It's now a dimension less than it was previously. This means that:-
obj.coordsSpline
is the variable that holds all the coordinates of all the lines (though only one is permitted). -
obj.coordsSpline[0]
is the variable that holds the coordinates of all the points on the first line (again, there's only one line permitted). -
obj.coordsSpline[0][0]
is the variable that holds thexy
coordinates of the first point on the line. -
obj.coordsSpline[0][0][0]
is the variable that holds thex
coordinate of the first point on the line. -
obj.coordsSpline[0][0][1]
is the variable that holds they
coordinate of the first point on the line.
-
-
RGraph.tooltips.css
has been removed. Use the (documented)RGraph.tooltips.style
instead. -
Added the
tooltipsHotspotShape
property to theHorizontal Bar chart
in order to help facilitate tooltips forVertical Line charts
. This property can berect
(the default) orpoint
(when you're showing aVertical Line chart
). -
The
Horizontal Bar chart
coordinates (obj.coords
) no longer have negative values. Where thewidth
was negative, theX coordinate
is moved to the left and thewidth
is now positive. -
Made a small fix to
Vertical Spline charts
where the last little section of the line wasn't being drawn. -
The first and last bars (if the
total
bar is being shown) of ansvg
Waterfall chart
are now added to a group that appears in the code before thex-axis
. They therefore appear on screen behind thex-axis
. Subsequent bars appear above thex-axis
. -
A late addition to the list of changes - the tooltips
pointer has had its'
id
changed fromRGraph_tooltipsPointer
toRGraph_tooltipsPointer_[canvas ID]
This does mean that you will probably have to change yourcss
selector if you alter thecss
of the pointer. If you use<div>
tags in your tooltip(s) then you can do this to select the pointer:<style> div.RGraph_tooltip div[id^=RGraph_tooltipsPointer] { background-color: red !important; } </style>
Or if you don't use<div>
tags in your tooltips you don't need to use the regex selector:<style> div.RGraph_tooltip div { background-color: red !important; } </style>
Backwards compatibility notes
There are notifications and advisories regarding backwards compatibility that you can read here: https://www.rgraph.net/canvas/compatibility.html
Past release notes
- Release notes for 2024
- Release notes for 2023
- Release notes for 2022
- Release notes for 2021
- Release notes for 2020
- Release notes for 2019
- Release notes for 2018
- Release notes for 2017
Older release notes though are not available.