Hi,
I'd like to know how to prevent X-axis labels from randomly displaying as "..."
http://www.gfycat.com/SlowOldfashionedDogfish
The ellipsis can be quite annoying in certain cases. The chart trims the labels and appends ellipsis to prevent label overlap.
We wrote a smart axis label panel feature a while back. It'll scale the font or rotate/stagger labels to prevent overlap instead of trimming.Have you tried using that? (xAxis.useSmartAxisLabelPanel = YES) Without the smart axis panel, I think your other option would be to change the date formatting for a shorter string or increase the axis interval for more space between the full, untrimmed labels.
Are you using a CategoryXAxis or a CategoryDateTimeXAxis in your project? I can write up a sample if that will help.
When I turn on smart axis label panel I get this whenever the chart fully loads without items and then adds the first item:
https://dr.tt/view?d=rinzk5y4p0odt94%2F2016-05-06%20at%208.37%20AM.png
I don't see unlockSmartAxisLabelPanel in the header.
Should be in Axis.h
In IGAxisRight under convertToScreen and convertFromScreen methods
Ah, swift/obj-c snafu on my part. Obj-c methods don't autocomplete when using the dot operator.
This solution mostly works, but it still manages to be wrong for the first insert... I've littered my codebase with unlocks and I can't seem to get that first insert to size the labels correctly.
This is a frustrating side-affect, because from our clients POV, we certainly should have labels figured out after 2+ years of development.
How many labels are added in your first insert? I can try to replicate that
Likely just one at a time.
I think i found the issue where the label gets clipped when you only have one visible label. Before I start making any changes, though, I'd like to make sure that's the issue you're seeing with your project.
Take a look at the attached project. Once a point is added, the label is clipped. Once there are two labels, they get scaled down to fit the available axis label space.Let me know whether that's the problem you were reporting.
That looks like the problem. Thanks! :)
I'm no longer able to reproduce the issue after I made a fix earlier. Can you try out this sample and let me know if labels get clipped after the insert?
I finally found the problem... IGCategoryDateTimeXAxis.
I've tried changing to a regular category X axis but then I get different behavior where labels disappear unless I zoom in.
I made a few fixes that will allow the smart axis panel to properly react to new labels. It'll work when using a datetime axis or a regular category axis.The only catch with the category axis is that axis interval will have to be set periodically as the displayed dataset gets larger.So, it would be something like categoryAxis.interval = dataItems.count / numberOfLabelsToDisplay