Свободная диаграмма: как увеличить значения оси X (интервал или диапазон домена) при масштабировании

#android #jfreechart

#Android #jfreechart

Вопрос:

Кто-нибудь может мне помочь при масштабировании ниже! При горизонтальном масштабировании я хотел бы увеличить и отобразить разрыв или диапазон.

https://dl.dropboxusercontent.com/u/184003479/actual.png

Теперь диапазон по прикрепленной ссылке равен 10,12,14,16 … при масштабировании он должен отображаться как 10,11,12,13,… Как я могу увеличить этот диапазон доменов при масштабировании. Пожалуйста, направьте меня.

Ответ №1:

защищенное статическое значение gapValue; // разрыв между двумя датами

частное пустое масштабирование (точка источника, двойное начальное расстояние, двойное конечное расстояние) {

     Plot plot = this.chart.getPlot();
    PlotRenderingInfo info = this.info.getPlotInfo();

    if (plot instanceof Zoomable) {
        float scaleDistance = (float) (startDistance / endDistance);
    //for maintaining the limit of zooming range  horizontally
        if (this.mScale * scaleDistance <= 1.0f
                amp;amp; this.mScale * scaleDistance > 0.1f) {
            this.mScale *= scaleDistance;
            Zoomable z = (Zoomable) plot;
            z.zoomDomainAxes(scaleDistance, info, source, false);

            int sealValue = (int) (gapValue * this.mScale);
            // gap shoud be greater than zero
            if (sealValue == 0)
                sealValue = 1;
        // To re-render the graph dates in domain axis
            ((DateAxis) this.getChart().getXYPlot().getDomainAxis())
                    .setTickUnit(new DateTickUnit(DateTickUnitType.DAY,
                            sealValue, new SimpleDateFormat("MM/dd")));

        }
    }

    // repaint
    invalidate();