Important: Google Image Charts will be turned off soon

14,184 views
Skip to first unread message

Jon Orwant

unread,
Feb 9, 2019, 5:44:58 PM2/9/19
to Google Chart API
Google Image Charts -- not to be confused with Google Charts -- is the free service at chart.googleapis.com that creates static charts.

Its deprecation was announced back in 2012, so in theory nobody should be using it now that it's 2019. 

Several technical dependencies have made maintaining Google Image Charts unsustainable going forward, so it will be turned off on March 14, 2019.

There is no effective way to identify or contact users of the service other than this group, so to alert them we will be creating outages: first a short one, and then a longer one.

The short outage will be for an hour on Wednesday, February 13, at approximately 1pm Eastern Standard Time.
The long outage will be for several hours on Tuesday, March 5, at approximately 10am Eastern Standard Time.

If you are still using Google Image Charts, we recommend:

  • Switching to Google Charts, an actively developed JavaScript library for interactive charts and can render many common chart types as static PNGs. However, Google Image Charts provides some "charts" that Google Charts does not, such as QR codes, LaTeX equations, and road signs. For those we have no suggested replacement.

  • Using another charting library such as D3 or Dygraphs (both JavaScript).

  • Generating all the charts you'll ever need before March 14 and storing them yourself. (Many users of Google Image Charts create the same exact chart over and over, which is slower and more wasteful than generating the chart once and storing it locally.)


On a personal note, I've enjoyed maintaining the service over the years, and I'm happy to have watched the much more powerful Google Charts leapfrog it in capability.

Jon

rs64....@gmail.com

unread,
Feb 18, 2019, 10:58:11 PM2/18/19
to Google Chart API
Thanks for the update Jon.

Question : would you know of any other similar alternative ?

I need to display bar / pie / line charts on emails.

Email clients provide minimalistic JavaScript capability and so using any JS-based solution like Google Charts or D3 won't cut it.

Sach.

Jon Orwant

unread,
Feb 24, 2019, 12:49:42 PM2/24/19
to Google Chart API
On Monday, February 18, 2019 at 10:58:11 PM UTC-5, rs64....@gmail.com wrote:
Thanks for the update Jon.

Question : would you know of any other similar alternative ?

Hi Sach,

I'm not endorsing these solutions and have no experience with any of them, but perhaps they'll help you:
 Jon

Sachin Khambadkone

unread,
Feb 25, 2019, 8:06:11 AM2/25/19
to google-c...@googlegroups.com
Awesome thanks !

--
You received this message because you are subscribed to the Google Groups "Google Chart API" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-chart-a...@googlegroups.com.
To post to this group, send email to google-c...@googlegroups.com.
Visit this group at https://groups.google.com/group/google-chart-api.
For more options, visit https://groups.google.com/d/optout.

lped...@google.com

unread,
Feb 28, 2019, 5:56:27 PM2/28/19
to Google Chart API
HI Sach,

Did you find a suitable solution? We also use Google Image Charts for emails and need to find a suitable replacement. Thanks!

Cheers,
Luis

Sachin Khambadkone

unread,
Feb 28, 2019, 8:24:27 PM2/28/19
to google-c...@googlegroups.com
Hi,

Yes - we've been using image-charts.com and so far so good !

Sach.

Luis Pedroza

unread,
Mar 1, 2019, 12:39:05 AM3/1/19
to google-c...@googlegroups.com
Awesome. Thanks so much!

Jay Ashe

unread,
Mar 5, 2019, 11:52:28 AM3/5/19
to Google Chart API
How long will the long outage be for?

Jon Orwant

unread,
Mar 5, 2019, 11:54:11 AM3/5/19
to Google Chart API
Google Image Charts will be turned back on between 2pm and 3pm today. It will stay up until March 14 at which point it will be shut off forever.

Jon

Brandon Byers

unread,
Mar 5, 2019, 12:07:21 PM3/5/19
to Google Chart API
Howdy! 

I would like to say thank you for providing this service ... and then, for keeping it available 7 years past the deprecation date. My business has found it immensely useful for our internal site, email, PDFs etc. 

Vaya con Dios! We wish you all the best. 

gga...@fgribreau.com

unread,
Mar 5, 2019, 12:07:41 PM3/5/19
to Google Chart API
We've made Image-charts.com years ago as a drop-in replacement for Google Image Charts and we support animated charts (gifs) as well!

Try us, it's free (with a small watermark) and we've got paying subscriptions to remove the watermark :)



Nicholas Sadowy

unread,
Mar 5, 2019, 12:47:10 PM3/5/19
to Google Chart API
Is there an "easy" alternative dynamic push pin generator to replace what was available via http://chart.apis.google.com/chart?chst=d_map+pin_letter&chld=1|00FF00|FFFFFF?



david.mend...@gmail.com

unread,
Mar 5, 2019, 12:59:51 PM3/5/19
to Google Chart API

Tom Baverstock

unread,
Mar 5, 2019, 1:39:44 PM3/5/19
to Google Chart API
does anyone know an alternative for QR code generation? The Gooogle replacement doesn't have this 

Stuart Kiely

unread,
Mar 5, 2019, 1:57:11 PM3/5/19
to Google Chart API
I just tried porting over to http://goqr.me/api/

looks like a viable alternative. 

Tom Baverstock

unread,
Mar 5, 2019, 2:14:32 PM3/5/19
to Google Chart API
thanks, looks good, I'll pass that over to my dev

Andre Madarang

unread,
Mar 5, 2019, 2:44:12 PM3/5/19
to Google Chart API
I am also looking for an alternative for this. One of my apps makes heavy use of this and I have yet to find an alternative. If has anyone suggestions, let us know! Example URL: https://chart.apis.google.com/chart?chst=d_map_spin&chld=0.90|0|9999FF|12|_|A2

Mike Karikas

unread,
Mar 5, 2019, 8:29:03 PM3/5/19
to Google Chart API
One alternative we're looking at is Eastwood Charts, which says it uses the same parameters as Google Image Charts, though we haven't been successful in getting it running yet.  Has anybody tried this?

A couple links:
https://github.com/geosolutions-it/eastwood-charts - project files on github that appear to be incomplete

Ian Webster

unread,
Mar 6, 2019, 2:47:26 AM3/6/19
to Google Chart API
Hi all,

With Google Image Charts shutting down, I created https://quickchart.io/ to provide image charts for free and without a watermark.  You can use the quickchart.io service or run your own server as the project is open source.

Wind Power Surf Shop

unread,
Mar 6, 2019, 10:07:11 AM3/6/19
to Google Chart API
Good day google image charters,

Thanks to google for providing this service for years.  It really produces some nice graphs and worked well for plotting weather data in our applications.  http://www.windpowerweather.com

I would hope google could leave the documentation for Google Image charts up past Mar 14.  It is a good reference while implementing new charting system.

We use a lot of dynamic icons and map_spin for wind direction for example: http://chart.apis.google.com/chart?chst=d_map_spin&chld=0.8|14|67C8FF|10|_|NNW

Image-charts.com returns an error on 'chem' parameter, does not support dual axis and is not a 'drop-in' replacement in our case.  D3 looks good, but probably a fair amount of work to implement. 

Has anyone find dynamic icon / marker support?  
If you change the debug param to true, you can see the chart parameters at bottom of page.

Any help would be appreciated.


Wind Power Surf Shop
Lake Winnebago, Fond du Lac, WI

Sachin Khambadkone

unread,
Mar 8, 2019, 4:06:25 AM3/8/19
to google-c...@googlegroups.com

Sarbjeet Singh

unread,
Mar 8, 2019, 1:08:15 PM3/8/19
to Google Chart API
There does not seem to be any easy replacement for dynamic icons. 
Anyone found anything for this. 

here at the below link it does not say that it is shutting off on 14th March. 



Could you please confirm if it is also going down?

Regards,
Sarbjeet Singh 

Jon Orwant

unread,
Mar 8, 2019, 1:12:52 PM3/8/19
to Google Chart API
Yes, the infographics are going down too. Basically, any use of chart.googleapis.com will stop working.

I'll add a more explicit warning to that portion of the web site; thanks for pointing out the ambiguity.

Jon

Aron Kansal

unread,
Mar 8, 2019, 1:35:38 PM3/8/19
to Google Chart API
We plan to switch to:
http://goqr.me/api/
Just not sure what the terms are.
I don't see a pricing page and also it does not confirm that it's free.
I'd prefer to know what the usage limits are in case I run into future issues.

Aron Kansal

unread,
Mar 8, 2019, 1:35:38 PM3/8/19
to Google Chart API
Stuart - are you nervous that the price and usage is not listed?

Sarbjeet Singh

unread,
Mar 8, 2019, 1:54:16 PM3/8/19
to Google Chart API
Thanks for the confirmation. 

Ryan Chadwick

unread,
Mar 8, 2019, 4:10:51 PM3/8/19
to Google Chart API
They do mention on their site (http://goqr.me/)  that it is free. "QR codes created on goQR.me are completely free of charge (commercial and print usage allowed, including advertising)." I think if you want a colored QR code, they do charge a fee for that. 

Ryan Chadwick

unread,
Mar 8, 2019, 4:11:12 PM3/8/19
to Google Chart API
Is anyone for sure that the QR code API will be shut off, or is it only the Dynamic Icons? https://developers.google.com/chart/infographics/docs/dynamic_icons is the only page that explicitly says it will be shut off on March 14, 2019. The other pages, just mention that the API is deprecated.

Jon Orwant

unread,
Mar 8, 2019, 4:14:36 PM3/8/19
to google-c...@googlegroups.com
Yes, I can confirm that the QR codes will no longer be available. Anything involving a chart.googleapis.com URL will stop working.

Jon

--

gga...@fgribreau.com

unread,
Mar 9, 2019, 4:11:37 AM3/9/19
to Google Chart API
We've built and released a QR Code and drop-in-replacement for Google Image Charts at Image-Charts.com:




Let us know your feedbacks so we can improve it 🏆!

Documentation and watermark for free usage are also coming !

gga...@fgribreau.com

unread,
Mar 9, 2019, 4:11:58 AM3/9/19
to Google Chart API
We've looked into this and the rendering is the same (proportions are equal):

Image-Charts rendering



vs


Google-Image Charts rendering


https://chart.apis.google.com/chart?cht=p&chd=t:45,49,1587&chs=300x250&chco=FEA0A0,FFFF93,99CB99&chl=45%7C49%7C1587&chm=N,777777,0,,12,,c



 (also note the missing 1 in the 1587 label, that Image-Charts.com handles for you 👌)

Sachin Khambadkone

unread,
Mar 9, 2019, 5:11:36 AM3/9/19
to google-c...@googlegroups.com
Ah apologies - I wasn't aware image-charts.com was setup to simply mimic google as closely as possible.

Thanks for the response - guess I'll have to look elsewhere,
Sach.

Aron Kansal

unread,
Mar 9, 2019, 1:10:02 PM3/9/19
to Google Chart API
I hate to say this, but api.qrserver.com is not ready for the amount of traffic that is coming their way.
We are getting errors from them.


A connection attempt failed because the connected party did not properly
respond after a period of time, or established connection failed because
connected host has failed to respond 85.10.204.194:443

2nd Level Domain: titanium.net-no.de


gga...@fgribreau.com

unread,
Mar 9, 2019, 1:10:20 PM3/9/19
to Google Chart API
@Sachin it's because you Google Image Charts "t:" format, your dataset is 45,49,1597 in "t:" format, thus it means that "values above 100 are truncated to 100" (both valid in Google Image Charts and Image-Charts documentation).

However in Image-Charts.com we implemented what we call the "awesome data format" ("a:") that does not truncate values higher than 100:



Enjoy!

Sachin Khambadkone

unread,
Mar 10, 2019, 1:50:57 AM3/10/19
to google-c...@googlegroups.com
Now that's a far better response than the previous.

Thanks - still scoping out image-charts :-)

Sach.

Brandon Byers

unread,
Mar 11, 2019, 12:08:01 PM3/11/19
to google-c...@googlegroups.com
@image-charts - thank you for that distinction, regarding the "t" format and your "a" format. 



Regards, 


Brandon Byers
Refund Retriever, LLC
 800-441-8085
 bra...@refund-retriever.com
 www.refund-retriever.com



Stuart Kiely

unread,
Mar 12, 2019, 10:19:46 AM3/12/19
to Google Chart API
we found the same re: load issues w/ api.qrserver.com. Switched to image-charts.com and so far so good

Ian Webster

unread,
Mar 12, 2019, 12:40:10 PM3/12/19
to Google Chart API
We've also added QR code generation to https://quickchart.io/.  It is free and open source (https://github.com/typpo/quickchart).

QR codes can be generated with the /qr?text=XXX endpoint, URL encoded.  For example:  https://quickchart.io/qr?text=Hello%20World

Santiago Galindo

unread,
Mar 14, 2019, 7:01:41 PM3/14/19
to Google Chart API
Hello 



someone has found a way to make use of two axis and in the same graph, almost no free library supports double axis

Ian Webster

unread,
Mar 14, 2019, 7:11:12 PM3/14/19
to Google Chart API
Hi Santiago,

Dual axes can be done pretty easily with Chart.js config using QuickChart as a renderer.  For example:

           
{
  "type": "bar",
  "data": {
    "labels": ["January", "February", "March", "April", "May"],
    "datasets": [{
      "label": "Dogs",
      "data": [ 50, 60, 70, 180, 190 ],
      "yAxisID": "y-axis-1",
    }, {
      "label": "Cats",
      "data": [ 1000, 2000, 3000, 4000, 5000 ],
      "yAxisID": "y-axis-2",
    }]
  },
  "options": {
    "scales": {
      "yAxes": [{
        "type": "linear", 
        "display": true,
        "position": "left",
        "id": "y-axis-1" 
      }, {
        "type": "linear",
        "display": true,
        "position": "right",
        "id": "y-axis-2",
        "gridLines": {
          "drawOnChartArea": false  
        } 
      }] 
    }
  } 
}

URL-encode the JSON configuration into this URL and you'll get a nice chart with dual axes:



QuickChart is open-source here: https://github.com/typpo/quickchart

Feel free to reach out directly or via Github if you have any questions.

Ian

Serhat Ugur

unread,
Mar 18, 2019, 11:54:02 AM3/18/19
to Google Chart API
Hello Jon,

I realized that Google Image Charts are still up and running, any changes in sunset date?

Jon Orwant

unread,
Mar 18, 2019, 11:55:56 AM3/18/19
to Google Chart API
I was wondering if anyone would notice! 

The turndown will start around 7pm EDT tonight.

Jon

Brian Chen

unread,
Mar 19, 2019, 7:12:45 AM3/19/19
to Google Chart API
Check this https://jsfiddle.net/7rwh1Lfd/3/

On Wednesday, March 6, 2019 at 12:59:51 AM UTC+7, david.mend...@gmail.com wrote:
I am looking for a solution to this as well! https://chart.googleapis.com/chart?chst=d_map_spin&chld=.85|0|EA4335|10|b|10

On Tuesday, March 5, 2019 at 10:47:10 AM UTC-7, Nicholas Sadowy wrote:
Is there an "easy" alternative dynamic push pin generator to replace what was available via http://chart.apis.google.com/chart?chst=d_map+pin_letter&chld=1|00FF00|FFFFFF?



Jopie Avier

unread,
Mar 19, 2019, 7:13:07 AM3/19/19
to Google Chart API
Eeehm yes, we as a small website noticed it today. Never noticed the outages and the guy that made the subgurim Api for c# stopped with it, so no chance of an upgrade....

We are using it to place markers on the map with a number in it.....

David Suchomel

unread,
Mar 19, 2019, 9:11:50 AM3/19/19
to Google Chart API
Hello,
 I have problem with SIZE. chs=150x150 but image size is 175x175 and when I set chs=170x170 I got 264x264
Thanks Dave


Dne sobota 9. března 2019 10:11:37 UTC+1 gga...@fgribreau.com napsal(a):

Santiago Galindo

unread,
Mar 19, 2019, 9:11:50 AM3/19/19
to Google Chart API
Ohh Thank you very much!

I will try it!

Brian Chen

unread,
Mar 19, 2019, 9:11:50 AM3/19/19
to Google Chart API
Well use custom icon for Marker as here https://jsfiddle.net/7rwh1Lfd/3/

Peter

unread,
Mar 19, 2019, 10:42:29 AM3/19/19
to Google Chart API
Does a replacement for the google chart-o-meter exist? Can it be emulated?

Jon Orwant

unread,
Mar 19, 2019, 10:53:35 AM3/19/19
to google-c...@googlegroups.com
Sorry, I'm not aware of any replacement for the chart-o-meter.

Jon

--

Randall Theobald

unread,
Mar 19, 2019, 11:39:34 AM3/19/19
to Google Chart API
No chance for an open source donation so we can host our own?

Jon Orwant

unread,
Mar 19, 2019, 11:43:28 AM3/19/19
to Google Chart API
It's a good thought and I had a Google engineer look into it, but ultimately we decided that there are too many internal Google dependencies for us to be able to open source it. Sorry.

(This happens a lot. For instance, we have our own internal string and file libraries, so when we open source we have to replace those with versions available externally. It's a lot of work.)

Jon

Ian Webster

unread,
Mar 19, 2019, 12:40:41 PM3/19/19
to Google Chart API
Hi Peter,

Not an exact Google-o-Meter replacement, but QuickChart supports a radial gauge visualization type.  For example:

https://quickchart.io/chart?c={type:'radialGauge',data:{datasets:[{data:[70],backgroundColor:'green'}]}}


The QuickChart rendering service is based on Chart.js and the chartjs-chart-radial-gauge plugin, so it can be customized according to the options in the documentation.  Feel free to open an issue on the Github repo if you need help or clarification.

Stephen Cousins

unread,
Mar 19, 2019, 1:11:54 PM3/19/19
to Google Chart API
Thanks for this Ian, for low volume is it ok to use your hosted version for QR codes or do we have to install on our own servers?

Thanks

Stephen Cousins

unread,
Mar 19, 2019, 1:16:24 PM3/19/19
to Google Chart API
I changed to use this today and it seems to be performing well but I wonder with heavy usage whether it will be switched off or a monthly fee? have you been using it?

Thanks

On Friday, March 8, 2019 at 9:10:51 PM UTC, Ryan Chadwick wrote:
They do mention on their site (http://goqr.me/)  that it is free. "QR codes created on goQR.me are completely free of charge (commercial and print usage allowed, including advertising)." I think if you want a colored QR code, they do charge a fee for that. 

On Friday, March 8, 2019 at 11:35:38 AM UTC-7, Aron Kansal wrote:
Stuart - are you nervous that the price and usage is not listed?

David Suchomel

unread,
Mar 19, 2019, 1:34:49 PM3/19/19
to Google Chart API
Hello,
  I'm not able to change my chart to image-charts.com. Can anyone help me?

cht=lc
&chf=bg,s,3d3d3d|c,s,282828
&chxs=0N*sz2*,ffffff|1N*sz2*,ffffff|2,ffffff
&chco=ffffff,ffcc00,43c0ff,E5690F,66CC00,CC0000,CC00FF
&chg=20,50,1,5
&chxtc=1,10|0,10
&chdl=year 2020|year 2021|year 2022
&chdlp=b|r
&chdls=ffffff
&chs=700x250
&chxr=1,44.4695,51.757025
&chd=t:45.15,45.15,45.15,49.27,58.46,50.23,48.31,43.92,43.92,43.92,62.85,62.85,75.62,85.91,95.24,95.24,95.24,85.08,76.85,75.75,77.12,73.42,73.42,73.42,80.83,58.46,65.46,56.13,47.21,47.21,47.21|15.1,15.1,15.1,15.92,17.85,12.49,9.75,7.28,7.28,7.28,23.2,23.2,38.29,48.03,56.82,56.82,56.82,48.17,40.08,38.02,41.72,37.33,37.33,37.33,43.23,23.47,30.47,20.86,11.67,11.67,11.67|11.53,11.53,11.53,13.45,15.65,10.57,7.69,7.55,7.55,7.55,22.24,22.24,34.04,42.41,49.82,49.82,49.82,45.02,37.61,33.9,37.19,30.61,30.61,30.61,34.31,16.06,24.02,14.14,4.54,4.54,4.54
&chxl=0:|16/2|19/2|22/2|25/2|28/2|3/3|6/3|9/3|12/3|15/3|18/3
&chxt=x,y

When I delete some parameters i only get:





but problem is Y axis. I'm not able to get own Y range. 
X-axis problem: I have 31 values per one line and 11 values for label (chxl) I dont know why i can't see line to the end chart.

Thanks for any help.
Dave





Dne úterý 5. března 2019 18:07:41 UTC+1 gga...@fgribreau.com napsal(a):

Ian Webster

unread,
Mar 19, 2019, 2:46:36 PM3/19/19
to Google Chart API
Hi Stephen,

Feel free to use the hosted version. It has been benchmarked for 100s of concurrent requests per second and is running far below capacity.

Kris

unread,
Mar 19, 2019, 8:59:47 PM3/19/19
to Google Chart API
Oh, believe me, we noticed the sudden loss of our QR codes in my business this morning!  I knew it was coming at some point, but it's still sent me into a tailspin this morning looking for alternatives.

Why does the new Charts API not include QR codes?  

Many many many thanks to Ian Webster and his quickchart.io.  I'm back in business (quite literally) wiht my QR codes!

Jlo

unread,
Mar 19, 2019, 8:59:47 PM3/19/19
to Google Chart API
Holy smokes. Thank you, thank you, thank you.

Image-charts.com just saved me TONS of time.

Randall Theobald

unread,
Mar 19, 2019, 8:59:47 PM3/19/19
to Google Chart API

Greg Holmes

unread,
Mar 20, 2019, 8:07:48 AM3/20/19
to Google Chart API
Is the API back now? 

I was just about to (try to) explain it to our client why their map pins disappeared (we have an old third party add on that uses it and can't be updated), and today the map pins are back?

Jon Orwant

unread,
Mar 20, 2019, 8:10:13 AM3/20/19
to Google Chart API
The API was turned back on temporarily and may be shut off again without notice.

Jopie Avier

unread,
Mar 20, 2019, 8:11:13 AM3/20/19
to Google Chart API
Glad to see it is turned on again. Since I dont have to source code for the en.googlemaps.subgurim.com Google Maps api, I am trying with a url rewrite outbound to have the content of the webresource.axd rewritten where the google url is changed to www.image-charts.com

Very hard to figure out. Any change Google could redirect the old URL to image-charts?

Thanks!

Baris Ozek

unread,
Mar 20, 2019, 8:11:13 AM3/20/19
to Google Chart API
Yesterday google image chart service suddenly stoped suddenly but today working. 
But you said that it would shut of forever now our managers planning to change api with another.
so how long will the long outage be for?

Regards.

5 Mart 2019 Salı 19:54:11 UTC+3 tarihinde Jon Orwant yazdı:
Google Image Charts will be turned back on between 2pm and 3pm today. It will stay up until March 14 at which point it will be shut off forever.

Jon

On Tuesday, March 5, 2019 at 11:52:28 AM UTC-5, Jay Ashe wrote:
How long will the long outage be for?

ber...@resultants.eu

unread,
Mar 20, 2019, 8:11:13 AM3/20/19
to Google Chart API
Hi,

I was working on an alternative for the QR codes since it was turned off yesterday, but now it's working again...
When will it be turned off forever? Or can we start using it again?

Kind regards,


Bert

Francois-Guillaume Ribreau

unread,
Mar 20, 2019, 8:11:14 AM3/20/19
to google-c...@googlegroups.com
@randall indeed multi-axis label support is a feature we are going to release next week 👍

 François-Guillaume Ribreau
LinkedIn  Twitter Site Blog


Francois-Guillaume Ribreau

unread,
Mar 20, 2019, 8:11:14 AM3/20/19
to google-c...@googlegroups.com
We've added support for QR Code 1 week ago and just update our documentation, take a look: https://documentation.image-charts.com/qr-codes/ 👍

--

Jon Orwant

unread,
Mar 20, 2019, 8:13:46 AM3/20/19
to Google Chart API
Sorry, we're not going to redirect to image-charts.com since we can't vouch for the integrity of that service. As an example, there have been public QR code services that hijacked bitcoin URLs to steal money. I have no reason to believe image-charts.com is disreputable, but I won't run that risk.

Jon

Jon Orwant

unread,
Mar 20, 2019, 8:14:05 AM3/20/19
to Google Chart API
I don't know.

Jon Orwant

unread,
Mar 20, 2019, 8:15:58 AM3/20/19
to Google Chart API
It is back up, but only temporarily.  

Jopie Avier

unread,
Mar 20, 2019, 8:21:22 AM3/20/19
to Google Chart API
Thanks for the reply. Wish you could just leave it on...  I also wrote to the subgurim person to ask to open source his api...

Francois-Guillaume Ribreau

unread,
Mar 20, 2019, 2:47:05 PM3/20/19
to google-c...@googlegroups.com
Hello Bert!

You might want to take a look at https://documentation.image-charts.com/qr-codes/ it's a drop-in-replacement for Google Image Charts QR Code generation :)



--

Alex Kolesnik

unread,
Mar 21, 2019, 7:34:53 AM3/21/19
to Google Chart API
You can use an svg icon and a label in your MarkerOptions similar to this:
        let markerHeight = 60;
       
       let svgPath = `M213.285,0h-0.608C139.114,0,79.268,59.826,79.268,133.361c0,48.202,21.952,111.817,65.246,189.081
       c32.098,57.281,64.646,101.152,64.972,101.588c0.906,1.217,2.334,1.934,3.847,1.934c0.043,0,0.087,0,0.13-0.002
       c1.561-0.043,3.002-0.842,3.868-2.143c0.321-0.486,32.637-49.287,64.517-108.976c43.03-80.563,64.848-141.624,64.848-181.482
       C346.693,59.825,286.846,0,213.285,0z`; // find a pretty svg icon or construct your own path

        let svgHeight = 425.963; // depends on your svg path above
       let svgWidth = 425.963; // depends on your svg path above

        let markerOptions = {
           icon: {
               path: svgPath,
               fillColor: 'red',
               fillOpacity: 0.9,
               strokeWeight: 2,
               strokeColor: "#fff",
               scale: 1 / svgHeight * markerHeight,
               anchor: new google.maps.Point(svgWidth / 2, svgHeight),
               labelOrigin: new google.maps.Point(svgWidth / 2, svgHeight / 2.8)

            },
           label: {
               text: "A",
               fontSize: "12px",
               fontWeight: "bold",
               color: "#fff"

            }
       };

Alex Kolesnik

unread,
Mar 21, 2019, 7:35:04 AM3/21/19
to Google Chart API
You can use an svg icon instead and set the text via the label property .

Construct your marker with MarkerOptions similar to this:

        let markerHeight = 60;
       
       let svgPath = `M213.285,0h-0.608C139.114,0,79.268,59.826,79.268,133.361c0,48.202,21.952,111.817,65.246,189.081
       c32.098,57.281,64.646,101.152,64.972,101.588c0.906,1.217,2.334,1.934,3.847,1.934c0.043,0,0.087,0,0.13-0.002
       c1.561-0.043,3.002-0.842,3.868-2.143c0.321-0.486,32.637-49.287,64.517-108.976c43.03-80.563,64.848-141.624,64.848-181.482
       C346.693,59.825,286.846,0,213.285,0z`; // find or construct an appropriate icon path

        let svgHeight = 425.963; // depends on your svg path above
       let svgWidth = 425.963; // depends on your svg path above

        let markerOptions = {
           icon: {
               path: svgPath,
               fillColor: 'red',
               fillOpacity: 0.9,
               strokeWeight: 2,
               strokeColor: "#fff",
               scale: 1 / svgHeight * markerHeight,
               anchor: new google.maps.Point(svgWidth / 2, svgHeight),
               labelOrigin: new google.maps.Point(svgWidth / 2, svgHeight / 2.8)

            },
           label: {
               text: "A",
               fontSize: "12px",
               fontWeight: "bold",
               color: "#fff"

            }
       };

Alex Kolesnik

unread,
Mar 21, 2019, 7:36:04 AM3/21/19
to Google Chart API
You can use an svg icon and a label in your MarkerOptions similar to this:
        let markerHeight = 60;
       
       let svgPath = `M213.285,0h-0.608C139.114,0,79.268,59.826,79.268,133.361c0,48.202,21.952,111.817,65.246,189.081
       c32.098,57.281,64.646,101.152,64.972,101.588c0.906,1.217,2.334,1.934,3.847,1.934c0.043,0,0.087,0,0.13-0.002
       c1.561-0.043,3.002-0.842,3.868-2.143c0.321-0.486,32.637-49.287,64.517-108.976c43.03-80.563,64.848-141.624,64.848-181.482
       C346.693,59.825,286.846,0,213.285,0z`; // find a pretty svg icon or construct your own path

        let svgHeight = 425.963; // depends on your svg path above
       let svgWidth = 425.963; // depends on your svg path above

        let markerOptions = {
           icon: {
               path: svgPath,
               fillColor: 'red',
               fillOpacity: 0.9,
               strokeWeight: 2,
               strokeColor: "#fff",
               scale: 1 / svgHeight * markerHeight,
               anchor: new google.maps.Point(svgWidth / 2, svgHeight),
               labelOrigin: new google.maps.Point(svgWidth / 2, svgHeight / 2.8)

            },
           label: {
               text: "A",
               fontSize: "12px",
               fontWeight: "bold",
               color: "#fff"

            }
       };

Rajkumar Duraisamy

unread,
Mar 21, 2019, 8:21:54 AM3/21/19
to Google Chart API
Anyone can suggest Google charts dynamic icons(Google Map Marker) deprecated. Alternatives?


On Sunday, 10 February 2019 04:14:58 UTC+5:30, Jon Orwant wrote:
Google Image Charts -- not to be confused with Google Charts -- is the free service at chart.googleapis.com that creates static charts.

Its deprecation was announced back in 2012, so in theory nobody should be using it now that it's 2019. 

Several technical dependencies have made maintaining Google Image Charts unsustainable going forward, so it will be turned off on March 14, 2019.

There is no effective way to identify or contact users of the service other than this group, so to alert them we will be creating outages: first a short one, and then a longer one.

The short outage will be for an hour on Wednesday, February 13, at approximately 1pm Eastern Standard Time.
The long outage will be for several hours on Tuesday, March 5, at approximately 10am Eastern Standard Time.

If you are still using Google Image Charts, we recommend:

  • Switching to Google Charts, an actively developed JavaScript library for interactive charts and can render many common chart types as static PNGs. However, Google Image Charts provides some "charts" that Google Charts does not, such as QR codes, LaTeX equations, and road signs. For those we have no suggested replacement.

  • Using another charting library such as D3 or Dygraphs (both JavaScript).

  • Generating all the charts you'll ever need before March 14 and storing them yourself. (Many users of Google Image Charts create the same exact chart over and over, which is slower and more wasteful than generating the chart once and storing it locally.)


On a personal note, I've enjoyed maintaining the service over the years, and I'm happy to have watched the much more powerful Google Charts leapfrog it in capability.

Jon

Rajkumar Duraisamy

unread,
Mar 21, 2019, 8:22:14 AM3/21/19
to Google Chart API

Rajkumar Duraisamy

unread,
Mar 21, 2019, 8:22:20 AM3/21/19
to Google Chart API
Anyone can suggest Google charts dynamic icons(Google Map Marker) deprecated. Alternatives?


Rajkumar Duraisamy

unread,
Mar 21, 2019, 8:22:33 AM3/21/19
to Google Chart API
Anyone can suggest Google charts dynamic icons(Google map marker) deprecated. Alternatives?

Rajkumar Duraisamy

unread,
Mar 21, 2019, 8:22:41 AM3/21/19
to Google Chart API

cesalo

unread,
Mar 21, 2019, 10:04:08 AM3/21/19
to Google Chart API
It seems today was re-enabled .. at least is working now. Anybody know why and for how long?

Jopie Avier

unread,
Mar 22, 2019, 5:11:39 AM3/22/19
to Google Chart API
So, I see that www.chart-images.com is mentioned a lot, but when I try this, a type marker I use a lot to convert to chart-mages it doesnt work


to this


I get an error that I cannot copy paste..
Please help, thanks

Rajkumar Duraisamy

unread,
Mar 22, 2019, 5:12:02 AM3/22/19
to Google Chart API
I'm using angular-google-maps and I tried below samples. 
Icons and color working fine but label is not working.

Andy Idi

unread,
Mar 22, 2019, 7:55:17 AM3/22/19
to Google Chart API
Looks like image-charts doesn't support dynamic icons (Notes, Pin, Bubbles and Icons).

Currently working on a solution on my spare time.

David Blume

unread,
Mar 22, 2019, 6:46:44 PM3/22/19
to Google Chart API
I loved the little dual-y chart with a visible high-water-mark and custom point rendering I got from Google Image Chart. I want to share with you the closest approximation I could get out of Google's current Classic Chart renderer. Both the old and the new charts are on the same page so you can see them side-by-side. http://techcrunch.dlma.com/index_classic.html 

It's provided both as a protip for those having trouble doing similar things, and as an opportunity for anyone to suggest improvements. (Note that image-charts can't handle chxt with values y,r, yet, so I can't use that as a drop-in replacement.)

Anyway, thank you, Jon Orwant.

Jopie Avier

unread,
Mar 25, 2019, 11:21:30 AM3/25/19
to Google Chart API
Also using Subgurim?

Marcel Woodard

unread,
Mar 25, 2019, 11:21:30 AM3/25/19
to Google Chart API
Should we expect it to be up for hours, days or months?

Marcel Woodard

unread,
Mar 25, 2019, 11:21:30 AM3/25/19
to Google Chart API
When you say temporarily, does that mean days, weeks, or months?  I work for a major electricity provider in Texas and we are in a panic to implement a new solution by this Friday.  It would be great if we knew how much more time we have to implement the new solution, preferably without doing it in a rush.


On Wednesday, March 20, 2019 at 7:15:58 AM UTC-5, Jon Orwant wrote:

Mark Blinkhorn

unread,
Mar 25, 2019, 11:21:30 AM3/25/19
to Google Chart API
Hi Jon
I just wondered if you can give a bit more clarity to your answer to Bert:

Why was it turned back on?
Will it remain on?
Can we use it again?

Thanks
Mark

David Blume

unread,
Mar 25, 2019, 11:21:30 AM3/25/19
to Google Chart API
I noticed that too! I was just about to convert my site to an alternative service, and was surprised to see images. I don't know why or for how long either, though.

--David

Peter Weaver

unread,
Mar 25, 2019, 11:21:30 AM3/25/19
to Google Chart API
On Saturday, February 9, 2019 at 5:44:58 PM UTC-5, Jon Orwant wrote:
...


Its deprecation was announced back in 2012, so in theory nobody should be using it now that it's 2019. 
...
 
Except for people who wrote code 10 years ago that has been nicely working since then. Finding that my daily System Statistics report stopped working yesterday was a complete surprise.
 
There is no effective way to identify or contact users of the service other than this group, so to alert them we will be creating outages: first a short one, and then a longer one.

It would have been much nicer to put a watermark on every graph generated over the past year to let us know that this was coming instead of surprising us by suddenly turning it off.

The short outage will be for an hour on Wednesday, February 13, at approximately 1pm Eastern Standard Time.
The long outage will be for several hours on Tuesday, March 5, at approximately 10am Eastern Standard Time

Oh, yeah, that helped. I read my System Status emails first thing in the morning, then I don't look at them again that day (unless there was a problem), so these outages were completely unnoticed.
 
If you are still using Google Image Charts, we recommend:

  • Switching to Google Charts, an actively developed JavaScript library for interactive charts and can render many common chart types as static PNGs. However, Google Image Charts provides some "charts" that Google Charts does not, such as QR codes, LaTeX equations, and road signs. For those we have no suggested replacement.

  • Using another charting library such as D3 or Dygraphs (both JavaScript).

  • Generating all the charts you'll ever need before March 14 and storing them yourself. (Many users of Google Image Charts create the same exact chart over and over, which is slower and more wasteful than generating the chart once and storing it locally.)


The whole idea behind using Google Image Charts was that they could be sent out in emails. I cannot send out JavaScript in emails and expect it to work. I have code written in DCL on VAX/VMS, Alpha/OpenVMS and IA64/OpenVMS systems that send out daily reports showing disk file usage, these systems no nothing about JavaScript so I cannot use JavaScript on the server to generate static charts and send them out. I see below that someone created a site that I could use, but the company I work for won't pay a monthly fee just to send me a couple of dozen charts each morning.

On a personal note, I've enjoyed maintaining the service over the years, and I'm happy to have watched the much more powerful Google Charts leapfrog it in capability


Thanks, for maintaining it. Please remember that "More powerful" does not equal better. In my particular case "More powerful" does not even equal "Usable."

I see that the service is working this morning. If there is any way to keep it on to give us time to redevelop current software then that would be great. If you keep it on then consider putting on a watermark to let people who might be on vacation the past couple of days notice that you plan on turning this off again.

Marcel Woodard

unread,
Mar 25, 2019, 11:21:30 AM3/25/19
to Google Chart API
How long will the API be up?


On Wednesday, March 20, 2019 at 7:15:58 AM UTC-5, Jon Orwant wrote:

flamatioli

unread,
Mar 25, 2019, 11:21:30 AM3/25/19
to Google Chart API

Looks like today was reactivated again. Would anyone know if there is a chance this service will resume working definitively?

Thanks

Em sábado, 9 de fevereiro de 2019 20:44:58 UTC-2, Jon Orwant escreveu:
Google Image Charts -- not to be confused with Google Charts -- is the free service at chart.googleapis.com that creates static charts.

Its deprecation was announced back in 2012, so in theory nobody should be using it now that it's 2019. 

Several technical dependencies have made maintaining Google Image Charts unsustainable going forward, so it will be turned off on March 14, 2019.

There is no effective way to identify or contact users of the service other than this group, so to alert them we will be creating outages: first a short one, and then a longer one.

The short outage will be for an hour on Wednesday, February 13, at approximately 1pm Eastern Standard Time.
The long outage will be for several hours on Tuesday, March 5, at approximately 10am Eastern Standard Time.

If you are still using Google Image Charts, we recommend:

  • Switching to Google Charts, an actively developed JavaScript library for interactive charts and can render many common chart types as static PNGs. However, Google Image Charts provides some "charts" that Google Charts does not, such as QR codes, LaTeX equations, and road signs. For those we have no suggested replacement.

  • Using another charting library such as D3 or Dygraphs (both JavaScript).

  • Generating all the charts you'll ever need before March 14 and storing them yourself. (Many users of Google Image Charts create the same exact chart over and over, which is slower and more wasteful than generating the chart once and storing it locally.)


On a personal note, I've enjoyed maintaining the service over the years, and I'm happy to have watched the much more powerful Google Charts leapfrog it in capability.

Jon

Brad Berdine

unread,
Mar 25, 2019, 11:21:31 AM3/25/19
to Google Chart API
I use Dynamic Icons in several of my client's business applications. (Hosted on GCP and App Engine)  We use it to show real estate pricing information on a Google Map.

This is a large hit to my business and my client's productivity if I cannot find a replacement for this feature.  On a more frustrating note,  I asked about deprecation of this exact feature during two separate Google Conferences (Next & Cloud Summit) due to its importance, and was reassured each time that it wasn't going anywhere.

flamatioli

unread,
Mar 25, 2019, 11:21:40 AM3/25/19
to Google Chart API
Looks like today was reactivated again. Would anyone know if there's any chance this service will canback working definitively?

Thanks

Madisyn Margiotta

unread,
Oct 9, 2019, 3:40:29 PM10/9/19
to Google Chart API
Hi All, 

Any updates on the timeline for this deprecation? We have numerous emails that utilize these charts as well. 

Thanks!

Jon Orwant

unread,
Oct 9, 2019, 3:43:19 PM10/9/19
to Google Chart API
The service is running on fumes: as soon as the current serving jobs go down, they are unlikely to come back up. I would migrate off immediately.

Jon

Ian Webster

unread,
Feb 13, 2020, 5:22:01 PM2/13/20
to Google Chart API
Hi all,

I've released an open-source drop-in replacement for popular parts of the Google Image Charts API.  You can just replace "chart.googleapis.com" with "quickchart.io", or you can run your own server via the source code or docker.  For example, this Google Image Chart: 





As you can see the outputs are quite similar.  Documentation, examples, and supported options are provided here.

It's a work in progress - my goal is to provide a faithful reimplementation of the Google Image Charts API but of course the full API is quite complicated, so I have focused on the core features.  If you need help or would like to assist with the open source project please reach out or open an issue on Github.  Please try it and provide feedback!

(As an aside, if you'd like to migrate to a modern chart framework the service also provides a Google Image Charts -> Chart.js conversion.  Replace the host with quickchart.io and add &format=chartjs-config in order to generate the equivalent Chart.js config:  https://quickchart.io/chart?cht=pc&chd=s:Helo,Wrld&chs=200x100&format=chartjs-config)

Ian

David Blume

unread,
Feb 14, 2020, 11:05:05 AM2/14/20
to Google Chart API

Ian Webster

unread,
Feb 17, 2020, 4:31:23 PM2/17/20
to Google Chart API
Hi David,

The graph that you linked is in my roadmap for the project, but you are using some more advanced features so it may take some time to complete the implementation.  Google Image Charts is the product of years of work and it has some unusual bells and whistles...

In case you're interested, I took the liberty of converting your chart to Chart.js format.  I prefer this format for complex graphs because it is easier to understand and quite well documented.  Here is a link to the equivalent Chart.js specification for your chart: https://gist.github.com/typpo/f7ada53b1d2a3bf2ed0f1ff7446fc6f5.  It produces this image, generated via QuickChart's chart.js renderer:

https://quickchart.io/chart?devicePixelRatio=1&w=300&h=50&bkg=white&c={%0A%20%20type%3A%20%27line%27%2C%0A%20%20data%3A%20{%0A%20%20%20%20labels%3A%20[%27%27%2C%27%27%2C%27%27%2C%27%27%2C%27%27]%2C%0A%20%20%20%20datasets%3A%20[{%0A%20%20%20%20%20%20label%3A%20%27comments%27%2C%0A%20%20%20%20%20%20borderColor%3A%20%27blue%27%2C%0A%20%20%20%20%20%20yAxisID%3A%20%27A%27%2C%0A%20%20%20%20%20%20data%3A%20[0%2C1%2C1%2C1%2C2%2C3%2C4%2C4]%2C%0A%20%20%20%20%20%20fill%3A%20false%2C%0A%20%20%20%20%20%20borderWidth%3A%201%2C%0A%20%20%20%20}%2C%20{%0A%20%20%20%20%20%20label%3A%20%27retweets%27%2C%0A%20%20%20%20%20%20borderColor%3A%20%27green%27%2C%0A%20%20%20%20%20%20backgroundColor%3A%20%27%23ff8c00%27%2C%0A%20%20%20%20%20%20pointBorderColor%3A%20%27%23ff8c00%27%2C%0A%20%20%20%20%20%20yAxisID%3A%20%27B%27%2C%0A%20%20%20%20%20%20data%3A%20[80%2C261%2C357%2C475%2C501%2C514%2C527%2C535]%2C%0A%20%20%20%20%20%20pointRadius%3A%20[0%2C0%2C5%2C0%2C0%2C0%2C0%2C0]%2C%0A%20%20%20%20%20%20fill%3A%20false%2C%0A%20%20%20%20%20%20borderWidth%3A%201%2C%0A%20%20%20%20}]%0A%20%20}%2C%0A%20%20options%3A%20{%0A%20%20%20%20legend%3A%20{%0A%20%20%20%20%20%20position%3A%20%27right%27%2C%0A%20%20%20%20%20%20labels%3A%20{%0A%20%20%20%20%20%20%20%20boxWidth%3A%205%2C%0A%20%20%20%20%20%20%20%20fontSize%3A%208%2C%0A%20%20%20%20%20%20%20%20padding%3A%205%2C%0A%20%20%20%20%20%20}%2C%0A%20%20%20%20}%2C%0A%20%20%20%20layout%3A%20{%0A%20%20%20%20%20%20padding%3A%20{%20%0A%20%20%20%20%20%20%20%20bottom%3A%20-20%2C%0A%20%20%20%20%20%20}%0A%20%20%20%20}%2C%0A%20%20%20%20elements%3A%20{%0A%20%20%20%20%20%20point%3A%20{%0A%20%20%20%20%20%20%20%20radius%3A%200%2C%0A%20%20%20%20%20%20}%2C%0A%20%20%20%20}%2C%0A%20%20%20%20scales%3A%20{%0A%20%20%20%20%20%20xAxes%3A%20[{%0A%20%20%20%20%20%20%20%20gridLines%3A%20{%0A%20%20%20%20%20%20%20%20%20%20color%3A%20%27transparent%27%2C%0A%20%20%20%20%20%20%20%20}%2C%0A%20%20%20%20%20%20}]%2C%0A%20%20%20%20%20%20yAxes%3A%20[{%0A%20%20%20%20%20%20%20%20id%3A%20%27A%27%2C%0A%20%20%20%20%20%20%20%20position%3A%20%27left%27%2C%0A%20%20%20%20%20%20%20%20gridLines%3A%20{%0A%20%20%20%20%20%20%20%20%20%20color%3A%20%27transparent%27%2C%0A%20%20%20%20%20%20%20%20%20%20tickMarkLength%3A%205%2C%0A%20%20%20%20%20%20%20%20}%2C%0A%20%20%20%20%20%20%20%20ticks%3A%20{%0A%20%20%20%20%20%20%20%20%09min%3A%200%2C%0A%20%20%20%20%20%20%20%20%20%20%09max%3A%206%2C%0A%20%20%20%20%20%20%20%20%20%20%09maxTicksLimit%3A%201%2C%0A%20%20%20%20%20%20%20%20%20%20%09precision%3A%200%2C%0A%20%20%20%20%20%20%20%20%20%20%09fontSize%3A%208%2C%0A%20%20%20%20%20%20%20%20}%2C%0A%20%20%20%20%20%20}%2C%20{%0A%20%20%20%20%20%20%20%20id%3A%20%27B%27%2C%0A%20%20%20%20%20%20%20%20position%3A%20%27right%27%2C%0A%20%20%20%20%20%20%20%20gridLines%3A%20{%0A%20%20%20%20%20%20%20%20%20%20color%3A%20%27transparent%27%2C%0A%20%20%20%20%20%20%20%20%20%20tickMarkLength%3A%205%2C%0A%20%20%20%20%20%20%20%20}%2C%0A%20%20%20%20%20%20%20%20ticks%3A%20{%0A%20%20%20%20%20%20%20%20%09min%3A%200%2C%0A%20%20%20%20%20%20%20%20%20%20%09max%3A%20535%2C%0A%20%20%20%20%20%20%20%20%20%20%09maxTicksLimit%3A%201%2C%0A%20%20%20%20%20%20%20%20%20%20%09fontSize%3A%208%2C%0A%20%20%20%20%20%20%20%20}%2C%0A%20%20%20%20%20%20}]%0A%20%20%20%20}%2C%0A%20%20%20%20annotation%3A%20{%0A%20%20%20%20%20%20annotations%3A%20[{%0A%20%20%20%20%20%20%20%20type%3A%20%27box%27%2C%0A%20%20%20%20%20%20%20%20yScaleID%3A%20%27A%27%2C%0A%20%20%20%20%20%20%20%20yMin%3A%200%2C%0A%20%20%20%20%20%20%20%20yMax%3A%203%2C%0A%20%20%20%20%20%20%20%20backgroundColor%3A%20%27%23E0E0FF66%27%2C%0A%20%20%20%20%20%20%20%20borderColor%3A%20%27transparent%27%2C%0A%20%20%20%20%20%20}]%0A%20%20%20%20}%2C%0A%20%20}%0A}

The config is on the longer side, but if you don't need an *exact* reproduction you could simplify it quite a bit.  Hope this helps - regardless, I will just let you know when I implement some of the Google Image Charts API features you included above.

Ian

David Blume

unread,
Feb 17, 2020, 6:06:53 PM2/17/20
to Google Chart API
Hi Ian,

The chart.js format looks very promising! I'm going to try it out. I hope you don't mind my offering the following observations:

0. As far as I can tell, you converted the data correctly (from the gist), so the next two observations relate to the presentation/rendering.
1. It seems like the vertical scale for comments is wrong. The last comment value is 4, and the scale of the graph is 6, so the point's vertical position should be closer to the 6 (at the top) than to 0, but it's closer to the 0. (Compare to the original chart I posted.)
2. Since both y-axis tick labels were drawn in gray, one cannot tell which line belongs with which y-axis set of label. Are there 535 retweets or 6 retweets at the last datapoint? (Compare to the original chart I posted, where the tick label colors match the color of the related line, so you can tell it's definitely 535 retweets.)

Your site is already very useful and I'm sure fulfills the needs of most cases. It's great! I hope you don't mind my offering these observations and stretch goals. :)

Note to self: My light-blue "waterline" doesn't have enough contrast. It's practically invisible on some monitors. Need to fix that.

--David
It is loading more messages.
0 new messages