About
RGraph is a JavaScript charts library based on
HTML5 SVG and canvas. RGraph is mature (over 16 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.20, 1st December 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 roundRect function
The roundRect
function is used to draw a
rectangle to the canvas
which has rounded
corners. Nothing is actually drawn to the canvas
until you call either the stroke
or
fill
function.
Arguments to the function
- The
x-axis
coordinate (of the top left of the rectangle) - The
y-axis
coordinate (of the top left of the rectangle) - The width of the rectangle
- The height of the rectangle
-
Either a number or an
array
of numbers controlling the extent of the rounding. This can be:-
A single
number
. Thisnumber
is used as the roundingradius
for all four corners. -
An
array
containing a singlenumber
. Thisnumber
is used as the roundingradius
for all four corners. -
An
array
of two numbers. In this case the firstnumber
stipulates the roundingradius
for the top-left/bottom-right corners and the secondnumber
stipulates the roundingradius
for the top-right/bottom-left corners. -
An
array
of three numbers. In this case the firstnumber
controls the roundingradius
for the top-left corner. The secondnumber
controls theradius
for the top-right and bottom-left corners. And the thirdnumber
controls theradius
of the bottom-left corner. -
An
array
of four numbers. In this case eachnumber
controls the rounding of each corner - top-left, top-right, bottom-right and bottom-left.
-
A single
An example
<script>
window.onload = function ()
{
var canvas = document.getElementById("cvs");
var context = canvas.getContext('2d');
context.beginPath();
context.roundRect(50, 50, 100, 100, 10);
context.roundRect(200, 50, 100, 100, [10]);
context.roundRect(350, 50, 100, 100, [10,20]);
context.roundRect(500, 50, 100, 100, [10,20,30]);
context.roundRect(650, 50, 100, 100, [10,20,30,40]);
context.stroke();
}
</script>