umontreal.iro.lecuyer.charts
Class XYChart
- java.lang.Object
-
- umontreal.iro.lecuyer.charts.XYChart
-
- Direct Known Subclasses:
- EmpiricalChart, HistogramChart, ScatterChart, XYLineChart
public abstract class XYChart extends java.lang.ObjectThis class provides tools to create charts from data in a simple way. Its main feature is to produce TikZ/PGF (see WWW link http://sourceforge.net/projects/pgf/) compatible source code which can be included in LATEX documents, but it can also produce charts in other formats. One can easily create a new chart, and customize its appearance using methods of this class, with the encapsulatedSSJXYSeriesCollectionobject representing the data, and the twoAxisobjects representing the axes. All these classes depend on the JFreeChart API (see WWW link http://www.jfree.org/jfreechart/) which provides tools to build charts with Java, to draw them, and export them to files. However, only basic features are used here.Moreover, XYChart provides methods to plot data using a MATLAB friendly syntax. None of these methods provides new features; they just propose a different syntax to create charts. Therefore some features are unavailable when using these methods only.
-
-
Constructor Summary
Constructors Constructor and Description XYChart()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method and Description voiddisableGrid()Disables the background grid.voidenableGrid(double xstep, double ystep)Puts a grid on the background.doublegetChartMargin()Returns the chart margin, which is the fraction by which the chart is enlarged on its borders.JFreeChartgetJFreeChart()Returns the JFreeChart object associated with this chart.java.lang.StringgetTitle()Gets the current chart title.AxisgetXAxis()Returns the chart's domain axis (x-axis) object.AxisgetYAxis()Returns the chart's range axis (y-axis) object.voidsetAutoRange()The x and the y ranges of the chart are set automatically.voidsetAutoRange(boolean right, boolean top)The x and the y ranges of the chart are set automatically.voidsetAutoRange00(boolean xZero, boolean yZero)The x and the y ranges of the chart are set automatically.voidsetChartMargin(double margin)Sets the chart margin to margin.voidsetLatexDocFlag(boolean flag)Flag to remove the\documentclass(and other) commands in the created LATEX files.voidsetManualRange(double[] range)Sets the x and y ranges of the chart using the format: range = [xmin, xmax, ymin, ymax].voidsetManualRange(double[] range, boolean right, boolean top)Sets the x and y ranges of the chart using the format: range = [xmin, xmax, ymin, ymax].voidsetManualRange00(double[] range, boolean xZero, boolean yZero)Sets the x and y ranges of the chart using the format: range = [xmin, xmax, ymin, ymax].voidsetprobFlag(boolean flag)Must be set true when plotting probabilities, false otherwise.abstract voidsetTicksSynchro(int s)Synchronizes x-axis ticks to the s-th series x-values.voidsetTitle(java.lang.String title)Sets a title to this chart.abstract java.lang.StringtoLatex(double width, double height)Exports the chart to a LATEX source code using PGF/TikZ.voidtoLatexFile(java.lang.String fileName, double width, double height)Transforms the chart to LATEX form and writes it in file fileName.abstract javax.swing.JFrameview(int width, int height)
-
-
-
Method Detail
-
getJFreeChart
public JFreeChart getJFreeChart()
Returns the JFreeChart object associated with this chart.- Returns:
- the associated JFreeChart object.
-
getXAxis
public Axis getXAxis()
Returns the chart's domain axis (x-axis) object.- Returns:
- chart's domain axis (x-axis) object.
-
getYAxis
public Axis getYAxis()
Returns the chart's range axis (y-axis) object.- Returns:
- chart's range axis (y-axis) object.
-
view
public abstract javax.swing.JFrame view(int width, int height)
-
getTitle
public java.lang.String getTitle()
Gets the current chart title.- Returns:
- Chart title.
-
setTitle
public void setTitle(java.lang.String title)
Sets a title to this chart. This title will appear on the chart displayed by methodview.- Parameters:
title- chart title.
-
setprobFlag
public void setprobFlag(boolean flag)
Must be set true when plotting probabilities, false otherwise.- Parameters:
flag- true for plotting probabilities
-
setAutoRange
public void setAutoRange()
The x and the y ranges of the chart are set automatically.
-
setAutoRange
public void setAutoRange(boolean right, boolean top)The x and the y ranges of the chart are set automatically. If right is true, the vertical axis will be on the left of the points, otherwise on the right. If top is true, the horizontal axis will be under the points, otherwise above the points.- Parameters:
right- true if the x-values on the right of axis.top- true if the y-values on the top of axis.
-
setAutoRange00
public void setAutoRange00(boolean xZero, boolean yZero)The x and the y ranges of the chart are set automatically. If xZero is true, the vertical axis will pass through the point (0, y). If yZero is true, the horizontal axis will pass through the point (x, 0).- Parameters:
xZero- true if vertical axis passes through point 0yZero- true if horizontal axis passes through point 0
-
setManualRange
public void setManualRange(double[] range)
Sets the x and y ranges of the chart using the format: range = [xmin, xmax, ymin, ymax].- Parameters:
range- new axis ranges.
-
setManualRange
public void setManualRange(double[] range, boolean right, boolean top)Sets the x and y ranges of the chart using the format: range = [xmin, xmax, ymin, ymax]. If right is true, the vertical axis will be on the left of the points, otherwise on the right. If top is true, the horizontal axis will be under the points, otherwise above the points.- Parameters:
range- new axis ranges.right- true if the x-values on the right.top- true if the y-values on the top.
-
setManualRange00
public void setManualRange00(double[] range, boolean xZero, boolean yZero)Sets the x and y ranges of the chart using the format: range = [xmin, xmax, ymin, ymax]. If xZero is true, the vertical axis will pass through the point (0, y). If yZero is true, the horizontal axis will pass through the point (x, 0).- Parameters:
xZero- true if vertical axis passes through point 0yZero- true if horizontal axis passes through point 0
-
getChartMargin
public double getChartMargin()
Returns the chart margin, which is the fraction by which the chart is enlarged on its borders. The default value is 0.02.
-
setChartMargin
public void setChartMargin(double margin)
Sets the chart margin to margin. It is the fraction by which the chart is enlarged on its borders. Restriction:margin >= 0.- Parameters:
margin- margin percentage amount.
-
setTicksSynchro
public abstract void setTicksSynchro(int s)
Synchronizes x-axis ticks to the s-th series x-values.- Parameters:
s- series.
-
enableGrid
public void enableGrid(double xstep, double ystep)Puts a grid on the background. It is important to note that the grid is always shifted in such a way that it contains the axes. Thus, the grid does not always have an intersection at the corner points; this occurs only if the corner points are multiples of the steps: xstep and ystep sets the step in each direction.- Parameters:
xstep- sets the step in the x-direction.ystep- sets the step in the y-direction.
-
disableGrid
public void disableGrid()
Disables the background grid.
-
toLatex
public abstract java.lang.String toLatex(double width, double height)Exports the chart to a LATEX source code using PGF/TikZ. This method constructs and returns a string that can be written to a LATEX document to render the plot. width and height represents the width and the height of the produced chart. These dimensions do not take into account the axes and labels extra space. The width and the height of the chart are measured in centimeters.- Parameters:
width- Chart's width in centimeters.height- Chart's height in centimeters.- Returns:
- LaTeX source code.
-
toLatexFile
public void toLatexFile(java.lang.String fileName, double width, double height)Transforms the chart to LATEX form and writes it in file fileName. The chart's width and height (in centimeters) are width and height.
-
setLatexDocFlag
public void setLatexDocFlag(boolean flag)
Flag to remove the\documentclass(and other) commands in the created LATEX files. If flag is true, then when charts are translated into LATEX form, it will be as a self-contained file that can be directly compiled with LATEX. However, in this form, the file cannot be included in another LATEX file without causing compilation errors because of the multiple instructions\documentclassand\begin{document}. By setting flag to false, these instructions will be removed from the LATEX chart files, which can then be included in a master LATEX file. By default, the flag is true.
-
-
DMelt 3.0 © DataMelt by jWork.ORG