Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ buildscript {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
classpath 'com.android.tools.build:gradle:2.2.1'
}
}
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
VERSION_NAME=1.5.8
VERSION_CODE=13
VERSION_NAME=1.5.9
VERSION_CODE=14
GROUP=com.github.lecho

POM_DESCRIPTION=Charting library for Android compatible with API 8+(Android 2.2).
Expand Down
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Wed Apr 10 15:27:10 PDT 2013
#Tue Oct 18 14:18:39 EDT 2016
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-2.2.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
2 changes: 1 addition & 1 deletion hellocharts-library/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ buildscript {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
classpath 'com.android.tools.build:gradle:2.2.1'
}
}

Expand Down
26 changes: 26 additions & 0 deletions hellocharts-library/src/lecho/lib/hellocharts/model/Axis.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import android.graphics.Typeface;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import lecho.lib.hellocharts.formatter.AxisValueFormatter;
Expand Down Expand Up @@ -63,6 +64,11 @@ public class Axis {
*/
private Typeface typeface;

/**
* Allow for the values to be reversed. Specifically used for horizontal bar charts
*/
private boolean isReversed = false;

/**
* Formatter used to format labels.
*/
Expand Down Expand Up @@ -158,6 +164,13 @@ public static Axis generateAxisFromCollection(List<Float> axisValues, List<Strin
}

public List<AxisValue> getValues() {
//Copy and transfer to ensure that other value logic stays intact
if (isReversed) {
ArrayList<AxisValue> copy = new ArrayList<>();
for (int i = values.size() - 1; i >= 0; i--)
copy.add(values.get(i));
return copy;
}
return values;
}

Expand Down Expand Up @@ -302,4 +315,17 @@ public Axis setHasTiltedLabels(boolean hasTiltedLabels) {
return this;
}

/**
* Set to true when the natural direction of the axis should be reversed
* @param isReversed
* @return
*/
public Axis setIsReversed(boolean isReversed) {
this.isReversed = isReversed;
return this;
}

public boolean getIsReversed() {
return isReversed;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ public class ColumnChartData extends AbstractChartData {
private float baseValue = DEFAULT_BASE_VALUE;
private List<Column> columns = new ArrayList<Column>();
private boolean isStacked = false;
private boolean isHorizontal = true;

public ColumnChartData() {
}
Expand Down Expand Up @@ -97,6 +98,21 @@ public ColumnChartData setStacked(boolean isStacked) {
return this;
}

public boolean isHorizontal() {
return isHorizontal;
}

/**
* Set true if you want a horizontal column chart.
*
* @param isHorizontal
* @return
*/
public ColumnChartData setHorizontal(boolean isHorizontal) {
this.isHorizontal = isHorizontal;
return this;
}

public float getFillRatio() {
return fillRatio;
}
Expand Down Expand Up @@ -134,4 +150,39 @@ public ColumnChartData setBaseValue(float baseValue) {
return this;
}

@Override
public Axis getAxisXTop() {
if (isHorizontal)
return super.getAxisYRight();
return super.getAxisXTop();
}

@Override
public Axis getAxisXBottom() {
if (isHorizontal)
return super.getAxisYLeft();
return super.getAxisXBottom();
}

@Override
public Axis getAxisYLeft() {
if (isHorizontal) {
Axis x = super.getAxisXBottom();
if (x != null)
x.setIsReversed(true);
return x;
}
return super.getAxisYLeft();
}

@Override
public Axis getAxisYRight() {
if (isHorizontal) {
Axis x = super.getAxisXTop();
if (x != null)
x.setIsReversed(true);
return x;
}
return super.getAxisYRight();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -574,13 +574,14 @@ private void drawAxisLabelsAndName(Canvas canvas, Axis axis, int position) {
float labelX, labelY;
labelX = labelY = 0;
boolean isAxisVertical = isAxisVertical(position);
boolean isAxisReversed = axis.getIsReversed();
if (LEFT == position || RIGHT == position) {
labelX = labelBaselineTab[position];
} else if (TOP == position || BOTTOM == position) {
labelY = labelBaselineTab[position];
}

for (int valueToDrawIndex = 0; valueToDrawIndex < valuesToDrawNumTab[position]; ++valueToDrawIndex) {
int reverseIndex = isAxisReversed ? 0 : valuesToDrawNumTab[position];
for (int valueToDrawIndex = isAxisReversed ? valuesToDrawNumTab[position] - 1 : 0; isAxisReversed ? valueToDrawIndex >= 0 : valueToDrawIndex < valuesToDrawNumTab[position];) {
int charsNumber = 0;
if (axis.isAutoGenerated()) {
final float value = autoValuesToDrawTab[position][valueToDrawIndex];
Expand All @@ -592,9 +593,9 @@ private void drawAxisLabelsAndName(Canvas canvas, Axis axis, int position) {
}

if (isAxisVertical) {
labelY = rawValuesTab[position][valueToDrawIndex];
labelY = rawValuesTab[position][isAxisReversed ? reverseIndex : valueToDrawIndex];
} else {
labelX = rawValuesTab[position][valueToDrawIndex];
labelX = rawValuesTab[position][isAxisReversed ? reverseIndex : valueToDrawIndex];
}

if (axis.hasTiltedLabels()) {
Expand All @@ -608,6 +609,13 @@ private void drawAxisLabelsAndName(Canvas canvas, Axis axis, int position) {
canvas.drawText(labelBuffer, labelBuffer.length - charsNumber, charsNumber, labelX, labelY,
labelPaintTab[position]);
}
if (isAxisReversed) {
--valueToDrawIndex;
++reverseIndex;
} else {
++valueToDrawIndex;
--reverseIndex;
}
}

// Drawing axis name
Expand Down
Loading