Has anybody seen a template for a stacked bar chart race...? - flourishlib

I’m in need a flourish template for doing a stacked bar chart race. Any suggestions.?
I
Have searched the forums and haven’t been successful. As another possible approach, is it possible to modify an existing template?

Related

chartnew.js cannot show chart after durandal project published

i use chart.js in my durandal project to draw chart, then i found some limits of the library, and i found another one named chartnew.js, which is very like chart.js, but chartnew.js is more powerful. everything goes fine, the charts look nice.
but when i published the project,i meet a very mysterious issue:
the charts are not appear in the server, but when i change the debug='true' in webconfig, it works, all the charts appear on the screen.
do you guys have any ideas on this situation?
One possible explanation is the slight server side delay introduced by your debug=true delays the chart initialization just enough so that the canvas element has non-zero size when new Chart... is called.
One easy way to confirm if this is the case is to ensure that your canvas HTML is always visible (i.e. take off any code that dynamically hides it / shows it...) and see if the issue occurs.
You need to ensure that the canvas element is visible when the Chart data is loaded i.e. new Chart... is called.
I think resizeGraph and / or chartJsResize (for ChartNew.js) could also be used to force a redraw (say, with a setTimeout with enough delay to ensure that the canvas element has been rendered)

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.

Can I modify elements of a Google Chart after the page has loaded? Specifically, colors

I'm working with the Visualization API and column chart package for Google Charts. I can generate a graph with the data I want, but can I modify parts of the chart after the page has loaded? Specifically, I want to change the color of one column. I've done this by editing the DOM in Chrome's Element's Panel tool, but is there a way I can actually code this into my page, or am I out of luck? Thanks!
I had a similar challenge. In my case I needed a different color for each bar in a bar chart, something that the vis api doesn't support.
I ended up with this (using jquery, but no reason why it can't be done just using native dom functions)
statusCols btw is just an array of html colors...
function colorBars(){
$("#masterstatus g rect[fill='#3366cc']").each(function(){$(this).attr("bar", 'true')})
$("#masterstatus g rect[bar='true']").each(function(barNo){
$(this).attr("fill", statusCols[barNo]);
});
}
The secret (as it sounds like you have already discovered) is in identifying the dom element to change, that's the $("#masterstatus g rect[fill='#3366cc']") bit - I'm just selecting bars in the default color and iterating through them, in your case you want to pic an ordinal (eg the third one in the collection)
Hope that helps.
Actually I hope even more that someone else comes up with a better way...

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).