Google Charts: How to overlay text message when dataset is empty? - google-visualization

I am charting selections made by the user. When my page first loads there are no selections.
How do I show some text over the chart like below?
Note:
I don't care about the formatting - my screen capture tool adds that formatting
This is well documented for the depreciated Google Image Charts, but that doesn't help me

Related

Printing chartjs tooltips

I have a chartjs doughnut chart which is displaying fine, but when printed as a pdf, the tooltips don't show.
I've tried targeting .tooltip class within an #media print{} block, but this didn't work. I tried some implementation with custom property in the tooltip options but nothing I've tried worked at all.
Does anyone have a solution, where the tooltips will either always persist, or can be persisted when printing the HTML page to a pdf?
Thanks,
I think you might be better off using the data labels plugin, will give your chart a cleaner look instead of having a tooltip active for each element: https://chartjs-plugin-datalabels.netlify.app/samples/charts/doughnut.html

How to add mouseover tooltip in google charts sankey diagram

and have been using Google Charts to visualize my data. I have tried to search for the answer to this question but couldn't not find anyone having the same problem as mine, or maybe my problem is really basic. Appreciate if someone can give me a hand.
I built a sankey diagram by following the steps listed in Google Charts - Sankey Diagram.
Here is my chart:
http://kuangkeng.github.io/keng-data-journalism/procurement%20project/sankey/index.html
However I would like to add tooltip to each line/path/link so when users mouseover, they can see the value and other details of the line.
According to Google Charts (the link above), I can fire a mouseover event using 'onmouseover' and 'onmouseout', but Google Charts does not show how to do it for Sankey diagram.
I then came over an example of using 'onmouseover' and 'onmouseout' in a Google Bar Chart:
https://developers.google.com/chart/interactive/docs/examples#mouseovertooltip
So I copied the code, modified and pasted into my code.
google.visualization.events.addListener(chart, 'onmouseover', barMouseOver);
google.visualization.events.addListener(chart, 'onmouseout', barMouseOut);
function barMouseOver(e) {
chart.setSelection([e]);
}
function barMouseOut(e) {
chart.setSelection([{'row': null, 'column': null}]);
}
When I mouseover, I got the error message "undefined is not a function". You can see the error message appears at the top of the chart when you mouseover the lines.
I tried to use another alternative showed by Google Charts documentation by adding a another column to my data and set its role as 'tooltip' but it didn't work for my chart because Google Sankey Diagram can only accept 3 columns.
Appreciate if someone can have a look or refer me to any solution available. Thanks.

Bar chart with values placed on the chart instead of in tooltip

i'm trying to create some charts with google charts api. I need a bar chart with values placed directly on the chart (not on the tooltip which is set by default). I know that it was possible in Image Charts (which are now deprecated). Is there any way to achive a similar result in Google Charts? I will be grateful for any help or advice...
Here are some examples of what i want to achieve:
No, there isn't. See the answer in this question.
Quote follows:
This feature is not currently supported. The only way to implement it is to write some fancy javascript to create it.
I am no pro at working with SVG with javascript, and won't pretend to be. I'll let you know what I found out with Firebug, and share that.
Using this chart I inspected the SVG element that's created. It has 5 different <g> (I'm assuming group) elements.
g[1] contains information on the title.
g[2] contains the legend
g[3] contains the chart information (sub-groups with the chart
area, gridlines, series, axis label values, etc.) -- when a point is
selected, this shows the circle/double-circle for that point too
g[4] contains axis titles
g[5] contains the tooltips in two separate groups, but only on
mouseover
Here is the function in the code that gets triggered when you mouseover a point:
Y.Ov=function(a,b,c){a=new kv(a);var d=this.Mf.pk(Wj);b=b[zc](sd);d[w](this.Mf[sb](b[0]));for(var e=1;e<b[L];++e)d[w](this.Mf.pk(ti)),d[w](this.Mf[sb](b[e]));Qt(d,c);a.t()[w](d);a.Zz(100);a.Yz(100);this.on[y](a);return a};Y.appendChild=function(a,b){if(b){var c;if(b[Bc]==Sv){if(!b.Th())return;c=b.t()}else c=b;a.t()[w](c)}};Y.replaceChild=function(a,b,c){a.t().replaceChild(b,c);Cu(c)};Y.Fg=function(a){a.Th()&&this.xs(a.t())};Y.xs=function(a){this.Mf.Fg(a)};Y.ds=function(a){this.Mf.removeNode(a);Cu(a)};
This probably doesn't help you. I can't find any easy way to create a workaround for this (oh-so-needed) feature. Sorry there's no solution yet!

Setting default font size for graphs in Powerpoint

I've found no other stackexchange site to ask this question so I present it here. If there's a more appropriate place for it please let me know.
I have just been given a ms-powerpoint template document to fix. It was created by designers using the slide master editor in MS-Office 2011 for Mac. The problem is that when the customer creates a new slide using one of these templates and then wants to insert a chart into one of the designated boxes (which is only one of the things that can be stuck in there) the text in the chart is always set at 18pt. I've looked everywhere for a setting that sets the default font size for charts (and smart art) for only that document but have been unable to find it.
Any pointers or help of any kind would be more than great.
I received the following answer from James Gordon from a Microsoft forum:
Charts are handled by Excel. In Excel you can create Chart Template,
which are saved in (.crtx) file format and will appear in the Ribbon.
The way to do it is to customize a chart and then right-click on the
chart. Use the Save As Template option from the pop-up menu. If you
save your template in the Chart Templates folder (the default when the
save dialog opens), after you quit and then re-open Excel, the
template will be available to you in the Ribbon.
SmartArt is within your PowerPoint presentation. There are various
approaches you might take regarding SmartArt. As you pointed out,
SmartArt can be specified in a Slide Master, or on Slide Design.
Saving a presentation as a Theme (.thmx) is one option. Another save
option is to save as a Template, which is more comprehensive (includes
every aspect of a slide show).

Using Google Annotated Time Line Chart Without Flash

I want a similar behavior Chart as Google Annotated Time Line Chart to display my Time Series Data from DataBase In our environment we are restricted using Flash .
But i see that Google Annotated Time Line Chart works only with Flash .
I want a similar behavior as of Google Annotated Time Line Chart showing two charts , where the below Chart helps us to select a Range and the Upper Chart displays the Zoomed Area .
I wanted to develop this by taking two divs , but i am struck up as how to maintain synchronization between these two divs (Chart Div and Slider Div)
If anybody developed has developed Google Annotated Time Line Chart Without Flash , please give some inputs as how to develop this .
Thank you very much for reading .
check out https://code.google.com/apis/ajax/playground/?type=visualization#chartrangefilter_control
I believe you can do simple annotations also using data roles 'annotation' and 'annotationtext' (not too much styling though). You can find more info here https://developers.google.com/chart/interactive/docs/roles.
I just ran into this:
http://www.highcharts.com/demo/dynamic-master-detail
It's not free but it looks interesting.
there is no other way to make charts in Google without Flash at the moment