Remove redundant setStartAtZero method from YAxis.

This commit is contained in:
Philipp Jahoda 2016-02-12 17:37:58 +01:00
commit 9297923f09
33 changed files with 48 additions and 248 deletions

View file

@ -25,10 +25,6 @@
android:id="@+id/animateXY"
android:title="Animate XY">
</item>
<item
android:id="@+id/actionToggleStartzero"
android:title="Toggle StartZero">
</item>
<item
android:id="@+id/actionToggleAdjustXLegend"
android:title="Toggle AdjustXLegend">

View file

@ -9,10 +9,6 @@
android:id="@+id/actionToggleHighlight"
android:title="Toggle Highlight">
</item>
<item
android:id="@+id/actionToggleStartzero"
android:title="Toggle StartZero">
</item>
<item
android:id="@+id/actionToggleAdjustXLegend"
android:title="Toggle AdjustXLegend">

View file

@ -5,10 +5,6 @@
android:id="@+id/actionToggleHighlight"
android:title="Toggle Highlight">
</item>
<item
android:id="@+id/actionToggleStartzero"
android:title="Toggle StartZero">
</item>
<item
android:id="@+id/animateX"
android:title="Animate X">

View file

@ -17,10 +17,6 @@
android:id="@+id/actionToggleHighlight"
android:title="Toggle Highlight">
</item>
<item
android:id="@+id/actionToggleStartzero"
android:title="Toggle StartZero">
</item>
<item
android:id="@+id/actionToggleAdjustXLegend"
android:title="Toggle AdjustXLegend">

View file

@ -21,10 +21,6 @@
android:id="@+id/actionToggleHighlight"
android:title="Toggle Highlight">
</item>
<item
android:id="@+id/actionToggleStartzero"
android:title="Toggle StartZero">
</item>
<item
android:id="@+id/animateX"
android:title="Animate X">

View file

@ -9,10 +9,6 @@
android:id="@+id/actionToggleHighlight"
android:title="Toggle Highlight">
</item>
<item
android:id="@+id/actionToggleStartzero"
android:title="Toggle StartZero">
</item>
<item
android:id="@+id/actionToggleAdjustXLegend"
android:title="Toggle AdjustXLegend">

View file

@ -134,13 +134,6 @@ public class AnotherBarActivity extends DemoBase implements OnSeekBarChangeListe
mChart.invalidate();
break;
}
case R.id.actionToggleStartzero: {
mChart.getAxisLeft().setStartAtZero(!mChart.getAxisLeft().isStartAtZeroEnabled());
mChart.getAxisRight().setStartAtZero(!mChart.getAxisRight().isStartAtZeroEnabled());
mChart.invalidate();
break;
}
case R.id.animateX: {
mChart.animateX(3000);
break;

View file

@ -173,13 +173,6 @@ public class BarChartActivity extends DemoBase implements OnSeekBarChangeListene
mChart.invalidate();
break;
}
case R.id.actionToggleStartzero: {
mChart.getAxisLeft().setStartAtZero(!mChart.getAxisLeft().isStartAtZeroEnabled());
mChart.getAxisRight().setStartAtZero(!mChart.getAxisRight().isStartAtZeroEnabled());
mChart.notifyDataSetChanged();
mChart.invalidate();
break;
}
case R.id.animateX: {
mChart.animateX(3000);
break;
@ -251,7 +244,7 @@ public class BarChartActivity extends DemoBase implements OnSeekBarChangeListene
for (int i = 0; i < count; i++) {
float mult = (range + 1);
float val = (float) (Math.random() * mult);
float val = -10; //(float) (Math.random() * mult);
yVals1.add(new BarEntry(val, i));
}

View file

@ -149,12 +149,6 @@ public class BarChartActivityMultiDataset extends DemoBase implements OnSeekBarC
mChart.invalidate();
break;
}
case R.id.actionToggleStartzero: {
mChart.getAxisLeft().setStartAtZero(!mChart.getAxisLeft().isStartAtZeroEnabled());
mChart.getAxisRight().setStartAtZero(!mChart.getAxisRight().isStartAtZeroEnabled());
mChart.invalidate();
break;
}
case R.id.actionSave: {
// mChart.saveToGallery("title"+System.currentTimeMillis());
mChart.saveToPath("title" + System.currentTimeMillis(), "");

View file

@ -87,7 +87,6 @@ public class BarChartActivitySinus extends DemoBase implements OnSeekBarChangeLi
YAxis leftAxis = mChart.getAxisLeft();
leftAxis.setTypeface(mTf);
leftAxis.setLabelCount(6, false);
leftAxis.setStartAtZero(false);
leftAxis.setAxisMinValue(-2.5f);
leftAxis.setAxisMaxValue(2.5f);
@ -95,7 +94,6 @@ public class BarChartActivitySinus extends DemoBase implements OnSeekBarChangeLi
rightAxis.setDrawGridLines(false);
rightAxis.setTypeface(mTf);
rightAxis.setLabelCount(6, false);
rightAxis.setStartAtZero(false);
rightAxis.setAxisMinValue(-2.5f);
rightAxis.setAxisMaxValue(2.5f);
@ -158,13 +156,6 @@ public class BarChartActivitySinus extends DemoBase implements OnSeekBarChangeLi
mChart.invalidate();
break;
}
case R.id.actionToggleStartzero: {
mChart.getAxisLeft().setStartAtZero(!mChart.getAxisLeft().isStartAtZeroEnabled());
mChart.getAxisRight().setStartAtZero(!mChart.getAxisRight().isStartAtZeroEnabled());
mChart.notifyDataSetChanged();
mChart.invalidate();
break;
}
case R.id.animateX: {
mChart.animateX(1500);
break;

View file

@ -75,9 +75,6 @@ public class BubbleChartActivity extends DemoBase implements OnSeekBarChangeList
mChart.setMaxVisibleValueCount(200);
mChart.setPinchZoom(true);
mChart.getAxisLeft().setStartAtZero(false);
mChart.getAxisRight().setStartAtZero(false);
mSeekBarX.setProgress(5);
mSeekBarY.setProgress(50);
@ -88,7 +85,6 @@ public class BubbleChartActivity extends DemoBase implements OnSeekBarChangeList
YAxis yl = mChart.getAxisLeft();
yl.setTypeface(tf);
yl.setSpaceTop(30f);
yl.setStartAtZero(false);
yl.setSpaceBottom(30f);
mChart.getAxisRight().setEnabled(false);
@ -136,12 +132,6 @@ public class BubbleChartActivity extends DemoBase implements OnSeekBarChangeList
mChart.notifyDataSetChanged();
break;
}
case R.id.actionToggleStartzero: {
mChart.getAxisLeft().setStartAtZero(!mChart.getAxisLeft().isStartAtZeroEnabled());
mChart.getAxisRight().setStartAtZero(!mChart.getAxisRight().isStartAtZeroEnabled());
mChart.invalidate();
break;
}
case R.id.actionToggleFilter: {
Approximator a = new Approximator(ApproximatorType.DOUGLAS_PEUCKER, 25);

View file

@ -70,7 +70,6 @@ public class CandleStickChartActivity extends DemoBase implements OnSeekBarChang
leftAxis.setLabelCount(7, false);
leftAxis.setDrawGridLines(false);
leftAxis.setDrawAxisLine(false);
leftAxis.setStartAtZero(false);
YAxis rightAxis = mChart.getAxisRight();
rightAxis.setEnabled(false);
@ -130,12 +129,6 @@ public class CandleStickChartActivity extends DemoBase implements OnSeekBarChang
mChart.invalidate();
break;
}
case R.id.actionToggleStartzero: {
mChart.getAxisLeft().setStartAtZero(!mChart.getAxisLeft().isStartAtZeroEnabled());
mChart.getAxisRight().setStartAtZero(!mChart.getAxisRight().isStartAtZeroEnabled());
mChart.invalidate();
break;
}
case R.id.animateX: {
mChart.animateX(3000);
break;

View file

@ -83,7 +83,6 @@ public class CubicLineChartActivity extends DemoBase implements OnSeekBarChangeL
YAxis y = mChart.getAxisLeft();
y.setTypeface(tf);
y.setLabelCount(6, false);
y.setStartAtZero(false);
y.setTextColor(Color.WHITE);
y.setPosition(YAxis.YAxisLabelPosition.INSIDE_CHART);
y.setDrawGridLines(false);
@ -173,12 +172,6 @@ public class CubicLineChartActivity extends DemoBase implements OnSeekBarChangeL
mChart.invalidate();
break;
}
case R.id.actionToggleStartzero: {
mChart.getAxisLeft().setStartAtZero(!mChart.getAxisLeft().isStartAtZeroEnabled());
mChart.getAxisRight().setStartAtZero(!mChart.getAxisRight().isStartAtZeroEnabled());
mChart.invalidate();
break;
}
case R.id.actionTogglePinch: {
if (mChart.isPinchZoomEnabled())
mChart.setPinchZoom(false);

View file

@ -125,12 +125,6 @@ public class DrawChartActivity extends DemoBase implements OnChartValueSelectedL
}
break;
}
case R.id.actionToggleStartzero: {
mChart.getAxisLeft().setStartAtZero(!mChart.getAxisLeft().isStartAtZeroEnabled());
mChart.getAxisRight().setStartAtZero(!mChart.getAxisRight().isStartAtZeroEnabled());
mChart.invalidate();
break;
}
case R.id.actionTogglePinch: {
if (mChart.isPinchZoomEnabled())
mChart.setPinchZoom(false);

View file

@ -175,12 +175,6 @@ public class HorizontalBarChartActivity extends DemoBase implements OnSeekBarCha
mChart.invalidate();
break;
}
case R.id.actionToggleStartzero: {
mChart.getAxisLeft().setStartAtZero(!mChart.getAxisLeft().isStartAtZeroEnabled());
mChart.getAxisRight().setStartAtZero(!mChart.getAxisRight().isStartAtZeroEnabled());
mChart.invalidate();
break;
}
case R.id.animateX: {
mChart.animateX(3000);
break;

View file

@ -173,12 +173,6 @@ public class InvertedLineChartActivity extends DemoBase implements OnSeekBarChan
mChart.invalidate();
break;
}
case R.id.actionToggleStartzero: {
mChart.getAxisLeft().setStartAtZero(!mChart.getAxisLeft().isStartAtZeroEnabled());
mChart.getAxisRight().setStartAtZero(!mChart.getAxisRight().isStartAtZeroEnabled());
mChart.invalidate();
break;
}
case R.id.animateX: {
mChart.animateX(3000);
break;

View file

@ -130,7 +130,6 @@ public class LineChartActivity1 extends DemoBase implements OnSeekBarChangeListe
leftAxis.addLimitLine(ll2);
leftAxis.setAxisMaxValue(220f);
leftAxis.setAxisMinValue(-50f);
leftAxis.setStartAtZero(false);
//leftAxis.setYOffset(20f);
leftAxis.enableGridDashedLine(10f, 10f, 0f);
leftAxis.setDrawZeroLine(false);
@ -245,12 +244,6 @@ public class LineChartActivity1 extends DemoBase implements OnSeekBarChangeListe
mChart.invalidate();
break;
}
case R.id.actionToggleStartzero: {
mChart.getAxisLeft().setStartAtZero(!mChart.getAxisLeft().isStartAtZeroEnabled());
mChart.getAxisRight().setStartAtZero(!mChart.getAxisRight().isStartAtZeroEnabled());
mChart.invalidate();
break;
}
case R.id.actionTogglePinch: {
if (mChart.isPinchZoomEnabled())
mChart.setPinchZoom(false);

View file

@ -114,13 +114,13 @@ public class LineChartActivity2 extends DemoBase implements OnSeekBarChangeListe
leftAxis.setTypeface(tf);
leftAxis.setTextColor(ColorTemplate.getHoloBlue());
leftAxis.setAxisMaxValue(200f);
leftAxis.setAxisMinValue(0f);
leftAxis.setDrawGridLines(true);
YAxis rightAxis = mChart.getAxisRight();
rightAxis.setTypeface(tf);
rightAxis.setTextColor(Color.RED);
rightAxis.setAxisMaxValue(900);
rightAxis.setStartAtZero(false);
rightAxis.setAxisMinValue(-200);
rightAxis.setDrawGridLines(false);
rightAxis.setDrawZeroLine(false);
@ -202,12 +202,6 @@ public class LineChartActivity2 extends DemoBase implements OnSeekBarChangeListe
mChart.invalidate();
break;
}
case R.id.actionToggleStartzero: {
mChart.getAxisLeft().setStartAtZero(!mChart.getAxisLeft().isStartAtZeroEnabled());
mChart.getAxisRight().setStartAtZero(!mChart.getAxisRight().isStartAtZeroEnabled());
mChart.invalidate();
break;
}
case R.id.actionTogglePinch: {
if (mChart.isPinchZoomEnabled())
mChart.setPinchZoom(false);

View file

@ -168,12 +168,6 @@ public class MultiLineChartActivity extends DemoBase implements OnSeekBarChangeL
mChart.invalidate();
break;
}
case R.id.actionToggleStartzero: {
mChart.getAxisLeft().setStartAtZero(!mChart.getAxisLeft().isStartAtZeroEnabled());
mChart.getAxisRight().setStartAtZero(!mChart.getAxisRight().isStartAtZeroEnabled());
mChart.invalidate();
break;
}
case R.id.actionSave: {
// mChart.saveToGallery("title"+System.currentTimeMillis());
mChart.saveToPath("title" + System.currentTimeMillis(), "");

View file

@ -69,7 +69,7 @@ public class RadarChartActivitry extends DemoBase {
yAxis.setTypeface(tf);
yAxis.setLabelCount(5, false);
yAxis.setTextSize(9f);
yAxis.setStartAtZero(true);
yAxis.setAxisMinValue(0f);
Legend l = mChart.getLegend();
l.setPosition(LegendPosition.RIGHT_OF_CHART);

View file

@ -88,7 +88,6 @@ public class RealtimeLineChartActivity extends DemoBase implements
leftAxis.setTextColor(Color.WHITE);
leftAxis.setAxisMaxValue(100f);
leftAxis.setAxisMinValue(0f);
leftAxis.setStartAtZero(false);
leftAxis.setDrawGridLines(true);
YAxis rightAxis = mChart.getAxisRight();

View file

@ -136,12 +136,6 @@ public class ScatterChartActivity extends DemoBase implements OnSeekBarChangeLis
mChart.notifyDataSetChanged();
break;
}
case R.id.actionToggleStartzero: {
mChart.getAxisLeft().setStartAtZero(!mChart.getAxisLeft().isStartAtZeroEnabled());
mChart.getAxisRight().setStartAtZero(!mChart.getAxisRight().isStartAtZeroEnabled());
mChart.invalidate();
break;
}
case R.id.actionToggleFilter: {
Approximator a = new Approximator(ApproximatorType.DOUGLAS_PEUCKER, 25);

View file

@ -147,12 +147,6 @@ public class StackedBarActivity extends DemoBase implements OnSeekBarChangeListe
mChart.invalidate();
break;
}
case R.id.actionToggleStartzero: {
mChart.getAxisLeft().setStartAtZero(!mChart.getAxisLeft().isStartAtZeroEnabled());
mChart.getAxisRight().setStartAtZero(!mChart.getAxisRight().isStartAtZeroEnabled());
mChart.invalidate();
break;
}
case R.id.animateX: {
mChart.animateX(3000);
break;

View file

@ -59,7 +59,6 @@ public class StackedBarActivityNegative extends DemoBase implements
mChart.setDrawValueAboveBar(true);
mChart.getAxisLeft().setEnabled(false);
mChart.getAxisRight().setStartAtZero(false);
mChart.getAxisRight().setAxisMaxValue(25f);
mChart.getAxisRight().setAxisMinValue(-25f);
mChart.getAxisRight().setDrawGridLines(false);
@ -163,12 +162,6 @@ public class StackedBarActivityNegative extends DemoBase implements
mChart.invalidate();
break;
}
case R.id.actionToggleStartzero: {
mChart.getAxisLeft().setStartAtZero(!mChart.getAxisLeft().isStartAtZeroEnabled());
mChart.getAxisRight().setStartAtZero(!mChart.getAxisRight().isStartAtZeroEnabled());
mChart.invalidate();
break;
}
case R.id.animateX: {
mChart.animateX(3000);
break;

View file

@ -41,7 +41,6 @@ public class SineCosineFragment extends SimpleFragment {
YAxis leftAxis = mChart.getAxisLeft();
leftAxis.setTypeface(tf);
leftAxis.setStartAtZero(false);
leftAxis.setAxisMaxValue(1.2f);
leftAxis.setAxisMinValue(-1.2f);

View file

@ -60,7 +60,6 @@ public abstract class RealmBaseActivity extends DemoBase {
YAxis leftAxis = mChart.getAxisLeft();
leftAxis.removeAllLimitLines(); // reset all limit lines to avoid overlapping lines
leftAxis.setStartAtZero(false);
leftAxis.setTypeface(mTf);
leftAxis.setTextSize(8f);
leftAxis.setTextColor(Color.DKGRAY);

View file

@ -34,7 +34,7 @@ public class RealmDatabaseActivityHorizontalBar extends RealmBaseActivity {
mChart = (HorizontalBarChart) findViewById(R.id.chart1);
setup(mChart);
mChart.getAxisLeft().setStartAtZero(true);
mChart.getAxisLeft().setAxisMinValue(0f);
mChart.setDrawValueAboveBar(false);
}

View file

@ -24,14 +24,14 @@ import com.github.mikephil.charting.data.BarLineScatterCandleBubbleData;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.filter.Approximator;
import com.github.mikephil.charting.highlight.ChartHighlighter;
import com.github.mikephil.charting.interfaces.datasets.IBarLineScatterCandleBubbleDataSet;
import com.github.mikephil.charting.highlight.Highlight;
import com.github.mikephil.charting.interfaces.dataprovider.BarLineScatterCandleBubbleDataProvider;
import com.github.mikephil.charting.interfaces.datasets.IBarLineScatterCandleBubbleDataSet;
import com.github.mikephil.charting.jobs.MoveViewJob;
import com.github.mikephil.charting.listener.BarLineChartTouchListener;
import com.github.mikephil.charting.listener.OnDrawListener;
import com.github.mikephil.charting.renderer.XAxisRenderer;
import com.github.mikephil.charting.renderer.YAxisRenderer;
import com.github.mikephil.charting.highlight.Highlight;
import com.github.mikephil.charting.utils.PointD;
import com.github.mikephil.charting.utils.Transformer;
import com.github.mikephil.charting.utils.Utils;
@ -360,20 +360,18 @@ public abstract class BarLineChartBase<T extends BarLineScatterCandleBubbleData<
float minRight = mData.getYMin(AxisDependency.RIGHT);
float maxRight = mData.getYMax(AxisDependency.RIGHT);
float leftRange = Math.abs(maxLeft - (mAxisLeft.isStartAtZeroEnabled() ? 0 : minLeft));
float rightRange = Math.abs(maxRight - (mAxisRight.isStartAtZeroEnabled() ? 0 : minRight));
float leftRange = Math.abs(maxLeft - minLeft);
float rightRange = Math.abs(maxRight - minRight);
// in case all values are equal
if (leftRange == 0f) {
maxLeft = maxLeft + 1f;
if (!mAxisLeft.isStartAtZeroEnabled())
minLeft = minLeft - 1f;
minLeft = minLeft - 1f;
}
if (rightRange == 0f) {
maxRight = maxRight + 1f;
if (!mAxisRight.isStartAtZeroEnabled())
minRight = minRight - 1f;
minRight = minRight - 1f;
}
float topSpaceLeft = leftRange / 100f * mAxisLeft.getSpaceTop();
@ -385,45 +383,12 @@ public abstract class BarLineChartBase<T extends BarLineScatterCandleBubbleData<
mDeltaX = Math.abs(mXChartMax - mXChartMin);
// Consider sticking one of the edges of the axis to zero (0.0)
// Use the values as they are
mAxisLeft.mAxisMinimum = !Float.isNaN(mAxisLeft.getAxisMinValue()) ? mAxisLeft.getAxisMinValue() : (minLeft - bottomSpaceLeft);
mAxisLeft.mAxisMaximum = !Float.isNaN(mAxisLeft.getAxisMaxValue()) ? mAxisLeft.getAxisMaxValue() : (maxLeft + topSpaceLeft);
if (mAxisLeft.isStartAtZeroEnabled()) {
if (minLeft < 0.f && maxLeft < 0.f) {
// If the values are all negative, let's stay in the negative zone
mAxisLeft.mAxisMinimum = Math.min(0.f, !Float.isNaN(mAxisLeft.getAxisMinValue()) ? mAxisLeft.getAxisMinValue() : (minLeft - bottomSpaceLeft));
mAxisLeft.mAxisMaximum = 0.f;
} else if (minLeft >= 0.0) {
// We have positive values only, stay in the positive zone
mAxisLeft.mAxisMinimum = 0.f;
mAxisLeft.mAxisMaximum = Math.max(0.f, !Float.isNaN(mAxisLeft.getAxisMaxValue()) ? mAxisLeft.getAxisMaxValue() : (maxLeft + topSpaceLeft));
} else {
// Stick the minimum to 0.0 or less, and maximum to 0.0 or more (startAtZero for negative/positive at the same time)
mAxisLeft.mAxisMinimum = Math.min(0.f, !Float.isNaN(mAxisLeft.getAxisMinValue()) ? mAxisLeft.getAxisMinValue() : (minLeft - bottomSpaceLeft));
mAxisLeft.mAxisMaximum = Math.max(0.f, !Float.isNaN(mAxisLeft.getAxisMaxValue()) ? mAxisLeft.getAxisMaxValue() : (maxLeft + topSpaceLeft));
}
} else {
// Use the values as they are
mAxisLeft.mAxisMinimum = !Float.isNaN(mAxisLeft.getAxisMinValue()) ? mAxisLeft.getAxisMinValue() : (minLeft - bottomSpaceLeft);
mAxisLeft.mAxisMaximum = !Float.isNaN(mAxisLeft.getAxisMaxValue()) ? mAxisLeft.getAxisMaxValue() : (maxLeft + topSpaceLeft);
}
if (mAxisRight.isStartAtZeroEnabled()) {
if (minRight < 0.f && maxRight < 0.f) {
// If the values are all negative, let's stay in the negative zone
mAxisRight.mAxisMinimum = Math.min(0.f, !Float.isNaN(mAxisRight.getAxisMinValue()) ? mAxisRight.getAxisMinValue() : (minRight - bottomSpaceRight));
mAxisRight.mAxisMaximum = 0.f;
} else if (minRight >= 0.f) {
// We have positive values only, stay in the positive zone
mAxisRight.mAxisMinimum = 0.f;
mAxisRight.mAxisMaximum = Math.max(0.f, !Float.isNaN(mAxisRight.getAxisMaxValue()) ? mAxisRight.getAxisMaxValue() : (maxRight + topSpaceRight));
} else {
// Stick the minimum to 0.0 or less, and maximum to 0.0 or more (startAtZero for negative/positive at the same time)
mAxisRight.mAxisMinimum = Math.min(0.f, !Float.isNaN(mAxisRight.getAxisMinValue()) ? mAxisRight.getAxisMinValue() : (minRight - bottomSpaceRight));
mAxisRight.mAxisMaximum = Math.max(0.f, !Float.isNaN(mAxisRight.getAxisMaxValue()) ? mAxisRight.getAxisMaxValue() : (maxRight + topSpaceRight));
}
} else {
mAxisRight.mAxisMinimum = !Float.isNaN(mAxisRight.getAxisMinValue()) ? mAxisRight.getAxisMinValue() : (minRight - bottomSpaceRight);
mAxisRight.mAxisMaximum = !Float.isNaN(mAxisRight.getAxisMaxValue()) ? mAxisRight.getAxisMaxValue() : (maxRight + topSpaceRight);
}
mAxisRight.mAxisMinimum = !Float.isNaN(mAxisRight.getAxisMinValue()) ? mAxisRight.getAxisMinValue() : (minRight - bottomSpaceRight);
mAxisRight.mAxisMaximum = !Float.isNaN(mAxisRight.getAxisMaxValue()) ? mAxisRight.getAxisMaxValue() : (maxRight + topSpaceRight);
mAxisLeft.mAxisRange = Math.abs(mAxisLeft.mAxisMaximum - mAxisLeft.mAxisMinimum);
mAxisRight.mAxisRange = Math.abs(mAxisRight.mAxisMaximum - mAxisRight.mAxisMinimum);

View file

@ -113,7 +113,7 @@ public class RadarChart extends PieRadarChartBase<RadarData> {
mXChartMax = mData.getXVals().size() - 1;
mDeltaX = Math.abs(mXChartMax - mXChartMin);
float leftRange = Math.abs(maxLeft - (mYAxis.isStartAtZeroEnabled() ? 0 : minLeft));
float leftRange = Math.abs(maxLeft - minLeft);
float topSpaceLeft = leftRange / 100f * mYAxis.getSpaceTop();
float bottomSpaceLeft = leftRange / 100f * mYAxis.getSpaceBottom();
@ -121,25 +121,9 @@ public class RadarChart extends PieRadarChartBase<RadarData> {
mXChartMax = mData.getXVals().size() - 1;
mDeltaX = Math.abs(mXChartMax - mXChartMin);
if (mYAxis.isStartAtZeroEnabled()) {
if (minLeft < 0.f && maxLeft < 0.f) {
// If the values are all negative, let's stay in the negative zone
mYAxis.mAxisMinimum = Math.min(0.f, !Float.isNaN(mYAxis.getAxisMinValue()) ? mYAxis.getAxisMinValue() : (minLeft - bottomSpaceLeft));
mYAxis.mAxisMaximum = 0.f;
} else if (minLeft >= 0.0) {
// We have positive values only, stay in the positive zone
mYAxis.mAxisMinimum = 0.f;
mYAxis.mAxisMaximum = Math.max(0.f, !Float.isNaN(mYAxis.getAxisMaxValue()) ? mYAxis.getAxisMaxValue() : (maxLeft + topSpaceLeft));
} else {
// Stick the minimum to 0.0 or less, and maximum to 0.0 or more (startAtZero for negative/positive at the same time)
mYAxis.mAxisMinimum = Math.min(0.f, !Float.isNaN(mYAxis.getAxisMinValue()) ? mYAxis.getAxisMinValue() : (minLeft - bottomSpaceLeft));
mYAxis.mAxisMaximum = Math.max(0.f, !Float.isNaN(mYAxis.getAxisMaxValue()) ? mYAxis.getAxisMaxValue() : (maxLeft + topSpaceLeft));
}
} else {
// Use the values as they are
mYAxis.mAxisMinimum = !Float.isNaN(mYAxis.getAxisMinValue()) ? mYAxis.getAxisMinValue() : (minLeft - bottomSpaceLeft);
mYAxis.mAxisMaximum = !Float.isNaN(mYAxis.getAxisMaxValue()) ? mYAxis.getAxisMaxValue() : (maxLeft + topSpaceLeft);
}
// Use the values as they are
mYAxis.mAxisMinimum = !Float.isNaN(mYAxis.getAxisMinValue()) ? mYAxis.getAxisMinValue() : (minLeft - bottomSpaceLeft);
mYAxis.mAxisMaximum = !Float.isNaN(mYAxis.getAxisMaxValue()) ? mYAxis.getAxisMaxValue() : (maxLeft + topSpaceLeft);
mYAxis.mAxisRange = Math.abs(mYAxis.mAxisMaximum - mYAxis.mAxisMinimum);
}

View file

@ -5,8 +5,8 @@ import android.graphics.Paint;
import com.github.mikephil.charting.formatter.DefaultValueFormatter;
import com.github.mikephil.charting.formatter.DefaultYAxisValueFormatter;
import com.github.mikephil.charting.utils.Utils;
import com.github.mikephil.charting.formatter.YAxisValueFormatter;
import com.github.mikephil.charting.utils.Utils;
/**
* Class representing the y-axis labels settings and its entries. Only use the setter methods to modify it. Do not
@ -58,11 +58,6 @@ public class YAxis extends AxisBase {
*/
protected boolean mInverted = false;
/**
* if true, the y-label entries will always start at zero
*/
protected boolean mStartAtZero = true;
/**
* if true, the set number of y-labels will be forced
*/
@ -264,21 +259,16 @@ public class YAxis extends AxisBase {
}
/**
* enable this to force the y-axis labels to always start at zero
* This method is deprecated - Use setAxisMinValue(...) instead.
*
* @param enabled
* @param startAtZero
*/
public void setStartAtZero(boolean enabled) {
this.mStartAtZero = enabled;
}
/**
* returns true if the chart is set to start at zero, false otherwise
*
* @return
*/
public boolean isStartAtZeroEnabled() {
return mStartAtZero;
@Deprecated
public void setStartAtZero(boolean startAtZero) {
if (startAtZero)
setAxisMinValue(0f);
else
resetAxisMinValue();
}
public float getAxisMinValue() {

View file

@ -2,8 +2,8 @@ package com.github.mikephil.charting.formatter;
import com.github.mikephil.charting.data.LineData;
import com.github.mikephil.charting.interfaces.datasets.ILineDataSet;
import com.github.mikephil.charting.interfaces.dataprovider.LineDataProvider;
import com.github.mikephil.charting.interfaces.datasets.ILineDataSet;
/**
* Default formatter that calculates the position of the filled line.
@ -25,23 +25,18 @@ public class DefaultFillFormatter implements FillFormatter {
fillMin = 0f;
} else {
if (!dataProvider.getAxis(dataSet.getAxisDependency()).isStartAtZeroEnabled()) {
float max, min;
float max, min;
if (data.getYMax() > 0)
max = 0f;
else
max = chartMaxY;
if (data.getYMin() < 0)
min = 0f;
else
min = chartMinY;
if (data.getYMax() > 0)
max = 0f;
else
max = chartMaxY;
if (data.getYMin() < 0)
min = 0f;
else
min = chartMinY;
fillMin = dataSet.getYMin() >= 0 ? min : max;
} else {
fillMin = 0f;
}
fillMin = dataSet.getYMin() >= 0 ? min : max;
}
return fillMin;

View file

@ -143,7 +143,14 @@ public class YAxisRenderer extends AxisRenderer {
mYAxis.mEntries = new float[n];
}
for (f = first, i = 0; i < n; f += interval, ++i) {
f = first;
Double d = new Double(f);
// check negative zero
mYAxis.mEntries[0] = (float) (d.equals(-0.0) ? Math.abs(f) : f);
f += interval;
for (i = 1; i < n; f += interval, ++i) {
mYAxis.mEntries[i] = (float) f;
}
}

View file

@ -85,11 +85,6 @@ public class YAxisRendererRadarChart extends YAxisRenderer {
final double rawCount = yMin / interval;
double first = rawCount < 0.0 ? Math.floor(rawCount) * interval : Math.ceil(rawCount) * interval;
if (first < yMin && mYAxis.isStartAtZeroEnabled()) {
// Force the first label to be at the 0 (or smallest negative value)
first = yMin;
}
if (first == 0.0) // Fix for IEEE negative zero case (Where value == -0.0, and 0.0 == -0.0)
first = 0.0;
@ -124,7 +119,7 @@ public class YAxisRendererRadarChart extends YAxisRenderer {
mYAxis.mDecimals = 0;
}
if (!mYAxis.isStartAtZeroEnabled() && mYAxis.mEntries[0] < yMin) {
if (mYAxis.mEntries[0] < yMin) {
// If startAtZero is disabled, and the first label is lower that the axis minimum,
// Then adjust the axis minimum
mYAxis.mAxisMinimum = mYAxis.mEntries[0];