使用“图形视图”创建比例尺为倒置的图形

时间:2015-02-27 03:49:07

标签: android graph android-graphview

我正在使用Graph View library在Android中绘制图表。我想绘制听力图。任何人都知道如何使Y轴向下生长,并在图表上方设置水平标题?

1 个答案:

答案 0 :(得分:0)

第一部分相对简单;首先,通过模拟现有库逻辑创建自己的Y标签集,但以相反的顺序将值存储到您自己的String数组中。然后简单地将所有Y值乘以-1,使它们为负值,并将graphview设置为使用自己的标签来掩盖它们的消极性,例如。

    Double yMin = Math.floor(...);
    Double yMax = Math.ceil(...);

    int yLabelsCnt = 1 + (int)(Math.ceil(yMaxValue) - yMin.intValue());
    int yLabelInterval = (int)(Math.ceil((double)yLabelsCnt / MAX_Y_LABELS));
    yLabelsCnt = (yLabelInterval > 1)
              ? (int)Math.ceil(yLabelsCnt / yLabelInterval) 
              : yLabelsCnt;

    // Y labels
    String[] yArray = new String[ yLabelsCnt ];
    int j=yLabelsCnt-1;
    for(int i = yMin.intValue(); i < (yMin.intValue() + (yLabelInterval * yLabelsCnt)); i+=yLabelInterval){
        yArray[j--]=i.toString();
    }

    ....

    // invert the Y values
    for (DataObjects myObject : myDataObjects) {
        lineGraphSeries.appendData( new DataPoint(myObject.getValueX(), (myObject.getValueY() * -1.0 )),
                    true,
                    MAX_DATA_POINTS);
    }

    ....

    staticLabelsFormatter.setVerticalLabels(yArray);
    graphView.getGridLabelRenderer().setLabelFormatter(staticLabelsFormatter);