What packages to use if we want to create ring pie chart, like in image below. Legend must be inside circle.
You can use pie_chart. There is a similar picture in the package document. You can customize it.
Edit:
There is another answer here, how you can center text.
Related
I would like to know if there is anyway to add a tool-tip while hovering over an annotation or a drawing using stock charts i anychart.
for example, if i draw a rectangle, i would like to show a tool-tip to with the values of the rectangle(start and end dates, and upper and lower price).
if there aren't any built-in functions to do so, are there any event listeners for hovering over an annotation? then maybe when the event of hovering the mouse-in i could create an html element and then hide it on the even of mouse-out.
another solution might be by creating labels on the xAxis and on the yAxis. but i could not find anything to add labels in a specific location.
any suggestion is appreciated.
Unfortunately, the current version of the library 8.7.0 doesn't support tooltip or events to implement custom interactivity with Stock chart annotations.
If you want to add labels on the axes, you can use text axis markers. The article is about basic charts, but it will work for Stock charts. The difference is that you should call API not from a chart, but from Stock chart plot.
For example chart.textMarker() should be replaced with chart.plot(0).textMarker(), and that's it.
Is it possible to change the default positions of the legend labels around the jasper reports charts? Currently I have a following kind of chart being created:
I would like to move this [hoursNormal, hoursTravel, hoursOvertime]-box from under the chart to the right side of the chart. Another thing I would like to do is to replace this [hoursNormal, hoursTravel, hoursOvertime]-box by label "month". I just don't see any tools for moving these positions in Jasper studio chart creation wizard, and to me also the xml looks like so static that I don't believe tinkering it would help me.
Hopefully I'm wrong and there is a easy solution?
Move the legend to the right and other option of the chart can be find in the Properties View.
Click the chart, to view Properties for the chart. Navigate the different properties tabs to set what you need.
Example
If you need more advanced feature on the chart you need to use a customizer class see this as example: How to put benchmark line on barchart?
I create radar chart with ChartJS.
But when I have long labels than ChartJS scale chart and make it smaller.
The question is – can I make label text with ChartJS radar in a two rows? (usual <br>,/n doesn't work).
Seems like documentation doesn't provide this possibility.
You can use custom tooltips to use HTML elements to display the tooltip instead of canvas elements.
There is an example at https://github.com/nnnick/Chart.js/blob/v1.0.2/samples/pie-customTooltips.html for pie charts that does this.
I've got a requirement to install people's faces on the Y-Axis of a bar chart. Is it possible to install a custom image in place of the axis label? Ideally the solution would enable border-radius, border-style, and image URL properties.
Bonus points if you can point me towards documentation for enabling image-axis-label click & mouseover events!
There is an example of using images as labels here:
https://www.rgraph.net/demos/bar-images-as-labels.html
But keep in mind that they're not DOM objects - ie you can't style them with CSS on add mouseover events to them (at least not in the standard way). You could add a mouseover using RGraph though.
How can I add trow pie charts in the same chart? If I add two plots then the pie charts are both in the center. I need to have one on the left side and one on the right side.
I need them in one chart because I want to create an SVG image of it.
I'm also looking about that and up to now haven't found the solution.
But we can position the pie-chart by modifying 'g' element of svg with javascript after render.
var a=document.getElementsByTagName('svg')[0];
var b=document.getElementsByTagName('g')[1];
b.setAttribute('transform','translate(-598.25037,-71.249953)'); //put your own
Hope this help.