I am displaying pie chart and drawing labels outside of chart itself. Sometimes I must display odd data, that one point takes up 90% of chart so the rest must "mash up" into remaining 10% of the chart. Everything is okay, but the labels (slice names) are also "mashing up". So I implemented mechanism that "sorts out" those labels not to collide with each other. Now I have a "word cloud" above my chart, since the biggest slice is always facing down, leaving all other slices facing up. That is my problem: I want to rotate the chart so that the biggest value data point would be facing left (leaving me right side of chart for labels).
So my question is:
How I could rotate pie chart around its center by code?
And rotating whole chart view is not an option since labels must remain horizontal.
So i found the solution myself:
you can use this code:
[(SChartDonutSeries*)[[chart series] firstObject] setRotation:-1.570];
To rotate first (the only in my case) DonutSerie by approx -90 degrees with this line of code. I use it in this delegate method:
sChartRenderFinished
Related
I have three pie charts displayed in a row. Two have two segments, one has five. All three have vertical legends.
Given that, the chart with five segments displays the pie slightly smaller, due to the extra height of the legend. It also has a slight negative vertical offset.
Is there any way I can set all three charts to render the chart in the same position? I've tried setting the center to 50%,50% in plotOptions, didn't help.
You have to set the marginBottom-Value of the chart to a value that is equal an all charts. Highcharts is trying to display the pie as big as possible, therefore it will use more space if the legend is not as big.
By setting the marginBottom you force the chart to ignore the actual legend size.
The center: ['50%','50%'] setting will only take into account the actual plot area. So if this area is decreased because of a taller legend it has no effect.
I made a jsfiddle where you can explore this settings:
http://jsfiddle.net/doc_snyder/dsmgy6ts/
We are using the Highchart bubble diagram, however when bubble x and y are on the same place in the diagram and bubble y is smaller there is no way to neither see nor much less click the smaller bubble.
Is there any way to plot the bigger bubbles first and then plot the smaller ones on top? Or a setting which says that smaller ones always are on top of the bigger ones?
Just sort the series data in descending order and pass it to the highcharts.
So that, the bigger bubbles will be plotted first and then the smaller ones, thereby the user will be able to hover on smaller as well as bigger bubbles.
Tried this in my project, and it's working perfectly fine !
I am working on high charts (pie and bar). while page loads, charts are not center aligned, but as soon as I do inspect element it gets aligned. Can anyone suggest possible reasons?
In the pie chart you have center parameter which allows you to position chart.
Example: http://jsfiddle.net/40h671s3/
When I zoom in on a series in highcharts, I've noticed that the first visible point of the series is where it starts to draw. This means that if the only point in the visible zoomed area is in the middle, then the line for that series only starts to draw in the middle of the window. Is there a way to make Highcharts render the previous value so that it does not "cut off" the previous values of the graph?
Before, zoomed out:
After, zoomed in (problem):
Desired:
I have tried setting cropThreshold and connectNulls (just in case) among other tweaks with no luck. Any suggestions?
I'm trying to customize a Coreplot graph in many ways I can and the next thing I would like to do is place the X Axis Labels (one that is custom as well) at the bottom of the graph, independent of the X axis' position (whether it's scrolled up or down).
To make it clear, it is similar to giving the labels an offset value of something like 50.0. But offset is not the property I'm looking for since it fixes the labels location relative to the X axis.
Any way this can be done? Or do I have to skip the axisLabels property and place and layer or something manually at the bottom of the graph?
EDIT: Alright, I managed to place an axis on the bottom with CPTConstraints. But it's not on the bottommost. If a plot point is on those levels, the plot line overlaps the labels. I tired padding of the graph but of course, it moves the whole graph, hence the issue persists.
Thanks in advance
Make a second x-axis. Have the first one draw the axis line, tick marks, etc., as normal but no labels. Label the second one and set all of the line style properties to nil so it doesn't draw any of the lines.
Turns out that aside from the graph, the plotAreaFrame property of the CPTGrpah also has paddings. If you give more paddings to plotAreaFrame than that of the graph, the plot will be drawn in a smaller frame and the rest of the graph area will be for you to add what you want (i.e., a second Axis).
Big thanks to #Eric, for trying to answer Every single CorePlot question as soon as possible.
CorePlot does have a lot of customisation than I thought.