com.googlecode.charts4j
Class AbstractMarkableChart

java.lang.Object
  extended by com.googlecode.charts4j.AbstractGraphChart
      extended by com.googlecode.charts4j.AbstractAxisChart
          extended by com.googlecode.charts4j.AbstractMarkableChart
All Implemented Interfaces:
GChart, GraphChart, GridChart, TitledChart
Direct Known Subclasses:
LineChart, ScatterPlot, XYLineChart

public abstract class AbstractMarkableChart
extends AbstractAxisChart

Abstract type that represents all charts that support range Markers.

Author:
Julien Chastang (julien.c.chastang at gmail dot com)

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.googlecode.charts4j.TitledChart
TitledChart.ChartTitle
 
Field Summary
protected  ParameterManager parameterManager
          Contains accumulation of all parameters set by client.
 
Method Summary
 void addHorizontalRangeMarker(double startPoint, double endPoint, Color color)
          Add a horizontal range marker.
 void addVerticalRangeMarker(double startPoint, double endPoint, Color color)
          Add a vertical range marker.
 Map<String,String> getParameters()
          Get a map of all the parameters necessary to generate a Google Chart API request.
protected  void prepareData()
          Prepare data for URL String formation.
 void setBackgroundFill(Fill fill)
          Specify background fill.
 void setDataEncoding(DataEncoding dataEncoding)
          Set the data encoding scheme.
 void setMargins(int leftMargin, int rightMargin, int topMargin, int bottomMargin)
          Specify the chart margins.
 void setSize(int width, int height)
          Set the chart size.
 void setTransparency(int opacity)
          Specify the chart transparency.
 void setURLEndpoint(String urlEndpoint)
          Sets the chart URL endpoint.
 String toURLForHTML()
          Create a URL with the ampersand character entity reference (&amp;) in place of an ampersand.
 String toURLString()
          Create a URL string given the information supplied to this chart.
 
Methods inherited from class com.googlecode.charts4j.AbstractAxisChart
addMarker, addRightAxisLabels, addTopAxisLabels, addXAxisLabels, addYAxisLabels, setGrid
 
Methods inherited from class com.googlecode.charts4j.AbstractGraphChart
setAreaFill, setLegendMargins, setLegendPosition, setTitle, setTitle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parameterManager

protected final ParameterManager parameterManager
Contains accumulation of all parameters set by client.

Method Detail

addVerticalRangeMarker

public final void addVerticalRangeMarker(double startPoint,
                                         double endPoint,
                                         Color color)
Add a vertical range marker.

Parameters:
startPoint - the position on the x-axis at which the range starts where 0 is leftmost and 100 rightmost.
endPoint - the position on the x-axis at which the range starts where 0 is leftmost and 100 rightmost.
color - color of range marker.

addHorizontalRangeMarker

public final void addHorizontalRangeMarker(double startPoint,
                                           double endPoint,
                                           Color color)
Add a horizontal range marker.

Parameters:
startPoint - the position on the y-axis at which the range starts where 0 is the bottom and 100 is the top.
endPoint - the position on the y-axis at which the range ends where 0 is the bottom and 100 is the top.
color - color of range marker. Cannot be null.

prepareData

protected void prepareData()
Prepare data for URL String formation.

Overrides:
prepareData in class AbstractAxisChart

setSize

public void setSize(int width,
                    int height)
Set the chart size. If no size is specified, the chart will default to 200x125.

Specified by:
setSize in interface GChart
Parameters:
width - chart width. Must be > 0 and <= 1000.
height - chart height. Must be > 0 and <= 1000.
See Also:
Chart Size

getParameters

public final Map<String,String> getParameters()
Get a map of all the parameters necessary to generate a Google Chart API request. This method is specifically (and perhaps only) useful in a POST request scenario. It is still up to the developers to take these parameters and generate a POST request. For instance, they may want to use JSON to pass parameters to the browser in order to make the POST request.

Specified by:
getParameters in interface GChart
Returns:
a map of all the parameters
See Also:
POST Requests

toURLString

public final String toURLString()
Create a URL string given the information supplied to this chart. You can copy and paste this string into your web browser, and see if you get the results you anticipated. Better yet, incorporate this method call or GChart.toURLForHTML() into your Internet application to dynamically generate charts. URLs beyond 2000 characters are not recommended. You can sometimes get away with the simple encoding scheme if URL length is a problem. See GChart.setDataEncoding(DataEncoding dataEncoding)

Specified by:
toURLString in interface GChart
Returns:
URL String
See Also:
DataEncoding, WWW FAQs: What is the maximum length of a URL?

toURLForHTML

public final String toURLForHTML()
Create a URL with the ampersand character entity reference (&amp;) in place of an ampersand. Useful for embedding your link in a web page.

Specified by:
toURLForHTML in interface GChart
Returns:
URL string

setBackgroundFill

public void setBackgroundFill(Fill fill)
Specify background fill.

Specified by:
setBackgroundFill in interface GChart
Parameters:
fill - Background fill. Cannot be null.
See Also:
Fill

setTransparency

public void setTransparency(int opacity)
Specify the chart transparency. Use cautiously as this feature may obscure background fills. Also there appears to be a bug in the Google Chart API where setting a transparency makes the label color disappear.

Specified by:
setTransparency in interface GChart
Parameters:
opacity - Supply a number between 0 and 100. 0 is completely transparent, and 100 is completely opaque.

setDataEncoding

public final void setDataEncoding(DataEncoding dataEncoding)
Set the data encoding scheme. The only advantage to the simple encoding scheme is it will ultimately result in shorter URLs, but at the cost of lower resolution. charts4j defaults to the extended encoding, but if you have lots of data and if you are willing to sacrifice resolution, the simple encoding may be right for you.

Specified by:
setDataEncoding in interface GChart
Parameters:
dataEncoding - Supply the data encoding, either simple or extended. Cannot be null.

setMargins

public void setMargins(int leftMargin,
                       int rightMargin,
                       int topMargin,
                       int bottomMargin)
Specify the chart margins. The overall size of the chart defined with the GChart.setSize(int, int) method will not change. The margin moves inward. It is similar to a CSS padding.

Specified by:
setMargins in interface GChart
Parameters:
leftMargin - the left margin
rightMargin - the right margin
topMargin - the top margin
bottomMargin - the bottom margin

setURLEndpoint

public void setURLEndpoint(String urlEndpoint)
Sets the chart URL endpoint. The default end point chart URL is http://chart.apis.google.com/chart. This method is useful in situations where other Internet services support the Google Chart API. For instance, JFreeChart has a Google Chart API emulation called Eastwood. API users can supply the Eastwood servlet address as the end point URL (e.g. http://localhost:8080/eastwood-1.1.0/chart). Note that Eastwood is not a 100% emulation of the Google Chart API so "your mileage may vary" in terms of what charts are supported by Eastwood.

Specified by:
setURLEndpoint in interface GChart
Parameters:
urlEndpoint - the new chart url endpoint
See Also:
JFreeChart Eastwood Servlet


Copyright © 2008-2011. All Rights Reserved.