All Downloads are FREE. Search and download functionalities are using the official Maven repository.

br.com.digilabs.jqplot.chart.LabeledLineChart Maven / Gradle / Ivy

/*
 *  Copyright 2011 Inaiat H. Moraes.
 * 
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 * 
 *       http://www.apache.org/licenses/LICENSE-2.0
 * 
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 *  under the License.
 */
package br.com.digilabs.jqplot.chart;


import br.com.digilabs.jqplot.ChartConfiguration;
import br.com.digilabs.jqplot.JqPlotResources;
import br.com.digilabs.jqplot.data.LabeledData;
import br.com.digilabs.jqplot.data.item.LabeledItem;
import br.com.digilabs.jqplot.elements.Title;
import br.com.digilabs.jqplot.metadata.JqPlotPlugin;

/**
 * 
 * Simple implementation of Labeled Line Chart. This class can/should be extended.
 * 
 * @author inaiat
 */
@JqPlotPlugin(values = {
    JqPlotResources.DateAxisRenderer,
    JqPlotResources.CanvasTextRenderer,
    JqPlotResources.CategoryAxisRenderer,
    JqPlotResources.DateAxisRenderer,
    JqPlotResources.CanvasAxisLabelRenderer,
    JqPlotResources.CanvasAxisTickRenderer
})
public class LabeledLineChart extends AbstractChart,String> {

	private static final long serialVersionUID = -6833884146696085085L;
	
	private final ChartConfiguration chartConfig;

	private LabeledData labeledData = new LabeledData();

    /**
     * Construtor
     */
    public LabeledLineChart() {
        this(null, null, null, 15);
    }

    /**
     * Construtor
     * @param title
     * @param labelX
     * @param labelY 
     */
    public LabeledLineChart(String title, String labelX, String labelY) {
        this(title, labelX, labelY, 15);
    }

    /**
     * Construtor
     * 
     * @param title
     * @param labelX
     * @param labelY
     * @param tickAngle 
     */
    public LabeledLineChart(String title, String labelX, String labelY,
            Integer tickAngle) {
    	this.chartConfig = new ChartConfiguration();
    	
    	chartConfig
    		.setTitle(new Title(title))
    		.setLabelX(labelX)
    		.setLabelY(labelY)    		
    		.axesInstance()
    		.xAxisInstance()
    		.setRenderer(JqPlotResources.DateAxisRenderer)
    		.setLabelRenderer(JqPlotResources.CanvasAxisLabelRenderer)
    		.tickOptionsInstance()
    		.setAngle(tickAngle);
    	chartConfig
    		.axesInstance()
    		.yAxisInstance()
    		.setLabelRenderer(JqPlotResources.CanvasAxisLabelRenderer);
    }

    /**
     * 
     * @param value 
     */
    public void addValue(LabeledItem value) {
        labeledData.addValue(value);
    }

    /**
     * 
     * @param values 
     */
    public void addValues(LabeledItem... values) {
        labeledData.addValues(values);
    }

    /**
     * 
     * @return 
     */
    public LabeledData getChartData() {
        return labeledData;
    }

	@Override
	public ChartConfiguration getChartConfiguration() {
		return chartConfig;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy