HelloCharts的折线图跟json数据交互

  第一次写博客,不知道写点什么好。最近在学图表的内容,学了HelloCharts这个开源框架,感觉真心不错,指的推荐。简单写一个折线图和json数据交互的例子,哪些地方写得不够好的希望大家可以指出来,希望可以大家学习,大家进步。


首先是一个简单的json数据

String json = "{\"Chart\": [{\"id\": \"2\",\"XPoint\": \"1\",\"YPoint\": \"24\"},{\"id\": \"1\",\"XPoint\": \"2\",\"YPoint\": \"55\"},\n" +
            "{\"id\": \"1\",\"XPoint\": \"3\",\"YPoint\": \"98\"},{\"id\": \"2\",\"XPoint\": \"4\",\"YPoint\": \"76\"},{\"id\": \"1\",\"XPoint\": \"6\",\"YPoint\": \"54\"},\n" +
            "{\"id\": \"2\",\"XPoint\": \"7\",\"YPoint\": \"12\"},{\"id\": \"1\",\"XPoint\": \"9\",\"YPoint\": \"55\"},{\"id\": \"2\",\"XPoint\": \"12\",\"YPoint\": \"76\"}]}";


在Xml文件里面定义图表:

<lecho.lib.hellocharts.view.LineChartView
    android:id="@+id/lineChartView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="10dp"
    android:layout_marginTop="10dp"/>


解析json数据:

java.lang.reflect.Type type = new TypeToken<BasicResult<List<ChartValue>>>() {
}.getType();


BasicResult<List<ChartValue>> titlesList = gson
        .fromJson(json, type);


List<ChartValue> results = titlesList.getChart();


for(ChartValue value : results){
    mChartValuesList.add(value);
}


下面是为图表添加数据:
List<Line> lines = new ArrayList<Line>();


List<PointValue> mPointValue = new ArrayList<PointValue>();
for (int j = 0; j < mChartValuesList.size(); ++j) {
mPointValue.add(new PointValue(Float.parseFloat(mChartValuesList.get(j).XPoint), Float.parseFloat(mChartValuesList.get(j).YPoint)));
}


Line line = new Line(mPointValue);
line.setColor(ChartUtils.COLORS[0]);   //设置折线的颜色
line.setHasLabels(true);    //设置折点显示文本


lines.add(line);


data = new LineChartData(lines);


Axis axisX = new Axis();
Axis axisY = new Axis().setHasLines(true);
axisX.setName("Axis X");     //X轴的文字
axisY.setName("Axis Y");     //Y轴的文字
 
data.setAxisXBottom(axisX);     //设置X轴的文本的位置
data.setAxisYLeft(axisY);       //设置Y轴的文本的位置


data.setBaseValue(Float.NEGATIVE_INFINITY);
mLineChartView.setLineChartData(data);


这是资源的下载地址:http://download.csdn.net/detail/koma025/9568455


















  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值