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 show charts on your website.

More »

 

Download
Get the latest version of RGraph (version 6.17) from the download page. There's also older versions available, minified files and links to cdnjs.com hosted libraries.

More »

 

License
RGraph can be used for free under the GPL or if that doesn't suit your situation there's an inexpensive (£99) commercial license available.

More »

I can't fetch the correct number from a swedish Google sheet


Posted by Magnus at 01:52 on Saturday 19th February 2022 [link]
Hi, I'm fetching numbers from a GoogleSheet with swedish/european formating. This formating include thousands delimiter with a space. RGraph.pie interpret 1 000 as 1.000 making the charts erroneous.
Is there anything to be done?
/Magnus

Posted by Richard at 09:49 on Saturday 19th February 2022 [link]
You'll need to do a little post-processing on the data of your own.

So you can loop through the data that you fetch from the Sheet doing this (within the Sheets callback function):

var row = sheet.get('A1:A7');

for (var i=0; i<row.length; ++i) {
    row[i] = Number(String(row[i]).replace(/\s/, ''));
}

That will remove all space characters from the numbers.

Posted by Magnus at 02:37 on Sunday 20th February 2022 [link]
Thanks for Your response, I?m a tottal noob regarding JS so I hope I can get some more help. I use this code:
function (sheet)
{
var data = sheet.get('J23:J27');
var labels = sheet.get('I23:I26');
var row = sheet.get('J23:J27');

for (var i=0; i<row.length; ++i) {
row[i] = Number(String(row[i]).replace(/\s/, ''));
}

for (var i=0; i<labels.length; i+=2) {
labels[i] = "\n" + labels[i];
}
but it still will not remove the space characters.
many thanks
/Magnus

Posted by Richard at 10:58 on Sunday 20th February 2022 [link]
Try this:

function (sheet)
{
    var data = sheet.get('J23:J27');
    var labels = sheet.get('I23:I26');

    for (var i=0; i<data.length; ++i) {
        data[i] = Number(String(data[i]).replace(/\s/, ''));
    }

    for (var i=0; i<labels.length; i+=2) {
        labels[i] = "\n" + labels[i];
    }
}

Posted by Richard at 13:27 on Tuesday 22nd February 2022 [link]
How did that work out for you?

Posted by Magnus at 01:45 on Thursday 3rd March 2022 [link]
Still no luck I'm afraid. I have created a minimal test-case if the trouble is something else. Please have a look if possible
the chart - [LINK REMOVED]
the sheet - [LINK REMOVED]

I'm very grateful for any help
/ Magnus

Posted by Richard at 11:30 on Thursday 3rd March 2022 [link]
This CodePen shows all four Pie charts:

[LINK REMOVED]

Posted by Magnus at 00:59 on Friday 4th March 2022 [link]
Thank You! It works & looks beautiful :)
/ Magnus

[Replies are now closed]