本文整理汇总了Java中de.erichseifert.gral.plots.lines.DiscreteLineRenderer2D类的典型用法代码示例。如果您正苦于以下问题:Java DiscreteLineRenderer2D类的具体用法?Java DiscreteLineRenderer2D怎么用?Java DiscreteLineRenderer2D使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
DiscreteLineRenderer2D类属于de.erichseifert.gral.plots.lines包,在下文中一共展示了DiscreteLineRenderer2D类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: SimpleXYPlot
import de.erichseifert.gral.plots.lines.DiscreteLineRenderer2D; //导入依赖的package包/类
@SuppressWarnings("unchecked")
public SimpleXYPlot() {
// Generate data
DataTable data = new DataTable(Double.class, Double.class, Double.class,
Double.class, Double.class, Double.class);
for (double x = 1.0; x <= 400.0; x *= 1.5) {
double x2 = x/5.0;
data.add(x2, -Math.sqrt(x2) + 5.0, 5.0*Math.log10(x2),
random.nextDouble() + 1.0, random.nextDouble() + 0.5, 1.0 + 2.0*random.nextDouble());
}
// Create data series
DataSeries seriesLog = new DataSeries(data, 0, 2, 3, 4);
DataSeries seriesLin = new DataSeries(data, 0, 1, 5);
// Create new xy-plot
XYPlot plot = new XYPlot(seriesLog, seriesLin);
// Format plot
plot.setInsets(new Insets2D.Double(20.0, 40.0, 40.0, 40.0));
plot.setBackground(Color.WHITE);
plot.getTitle().setText(getDescription());
// Format plot area
plot.getPlotArea().setBackground(new RadialGradientPaint(
new Point2D.Double(0.5, 0.5),
0.75f,
new float[] { 0.6f, 0.8f, 1.0f },
new Color[] { new Color(0, 0, 0, 0), new Color(0, 0, 0, 32), new Color(0, 0, 0, 128) }
));
plot.getPlotArea().setBorderStroke(null);
// Format axes
AxisRenderer axisRendererX = new LogarithmicRenderer2D();
AxisRenderer axisRendererY = plot.getAxisRenderer(XYPlot.AXIS_Y);
axisRendererX.setLabel(new Label("Logarithmic axis"));
plot.setAxisRenderer(XYPlot.AXIS_X, axisRendererX);
// Custom tick labels
Map<Double, String> labels = new HashMap<>();
labels.put(2.0, "Two");
labels.put(1.5, "OnePointFive");
axisRendererX.setCustomTicks(labels);
// Custom stroke for the x-axis
BasicStroke stroke = new BasicStroke(2f);
axisRendererX.setShapeStroke(stroke);
Label linearAxisLabel = new Label("Linear axis");
linearAxisLabel.setRotation(90);
axisRendererY.setLabel(linearAxisLabel);
// Change intersection point of Y axis
axisRendererY.setIntersection(1.0);
// Change tick spacing
axisRendererX.setTickSpacing(2.0);
// Format rendering of data points
PointRenderer sizeablePointRenderer = new SizeablePointRenderer();
sizeablePointRenderer.setColor(GraphicsUtils.deriveDarker(COLOR1));
plot.setPointRenderers(seriesLin, sizeablePointRenderer);
PointRenderer defaultPointRenderer = new DefaultPointRenderer2D();
defaultPointRenderer.setColor(GraphicsUtils.deriveDarker(COLOR2));
defaultPointRenderer.setErrorVisible(true);
defaultPointRenderer.setErrorColor(COLOR2);
plot.setPointRenderers(seriesLog, defaultPointRenderer);
// Format data lines
DiscreteLineRenderer2D discreteRenderer = new DiscreteLineRenderer2D();
discreteRenderer.setColor(COLOR1);
discreteRenderer.setStroke(new BasicStroke(
3.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
10.0f, new float[] {3f, 6f}, 0.0f));
plot.setLineRenderers(seriesLin, discreteRenderer);
// Custom gaps for points
discreteRenderer.setGap(2.0);
discreteRenderer.setGapRounded(true);
// Custom ascending
discreteRenderer.setAscentDirection(Orientation.VERTICAL);
discreteRenderer.setAscendingPoint(0.5);
// Add plot to Swing component
add(new InteractivePanel(plot), BorderLayout.CENTER);
}
示例2: SimpleXYPlot
import de.erichseifert.gral.plots.lines.DiscreteLineRenderer2D; //导入依赖的package包/类
@SuppressWarnings("unchecked")
public SimpleXYPlot() {
// Generate data
DataTable data = new DataTable(Double.class, Double.class, Double.class,
Double.class, Double.class, Double.class);
for (double x = 1.0; x <= 400.0; x *= 1.5) {
double x2 = x/5.0;
data.add(x2, -Math.sqrt(x2) + 5.0, 5.0*Math.log10(x2),
random.nextDouble() + 1.0, random.nextDouble() + 0.5, 1.0 + 2.0*random.nextDouble());
}
// Create data series
DataSeries seriesLog = new DataSeries(data, 0, 2, 3, 4);
DataSeries seriesLin = new DataSeries(data, 0, 1, 5);
// Create new xy-plot
XYPlot plot = new XYPlot(seriesLog, seriesLin);
// Format plot
plot.setInsets(new Insets2D.Double(20.0, 40.0, 40.0, 40.0));
plot.setBackground(Color.WHITE);
plot.getTitle().setText(getDescription());
// Format plot area
plot.getPlotArea().setBackground(new RadialGradientPaint(
new Point2D.Double(0.5, 0.5),
0.75f,
new float[] { 0.6f, 0.8f, 1.0f },
new Color[] { new Color(0, 0, 0, 0), new Color(0, 0, 0, 32), new Color(0, 0, 0, 128) }
));
plot.getPlotArea().setBorderStroke(null);
// Format axes
AxisRenderer axisRendererX = new LogarithmicRenderer2D();
AxisRenderer axisRendererY = plot.getAxisRenderer(XYPlot.AXIS_Y);
axisRendererX.setLabel("Logarithmic axis");
plot.setAxisRenderer(XYPlot.AXIS_X, axisRendererX);
// Custom tick labels
Map<Double, String> labels = new HashMap<Double, String>();
labels.put(2.0, "Two");
labels.put(1.5, "OnePointFive");
axisRendererX.setCustomTicks(labels);
// Custom stroke for the x-axis
BasicStroke stroke = new BasicStroke(2f);
axisRendererX.setShapeStroke(stroke);
axisRendererY.setLabel("Linear axis");
// Change intersection point of Y axis
axisRendererY.setIntersection(1.0);
// Change tick spacing
axisRendererX.setTickSpacing(2.0);
// Format rendering of data points
PointRenderer sizeablePointRenderer = new SizeablePointRenderer();
sizeablePointRenderer.setColor(GraphicsUtils.deriveDarker(COLOR1));
plot.setPointRenderer(seriesLin, sizeablePointRenderer);
PointRenderer defaultPointRenderer = new DefaultPointRenderer2D();
defaultPointRenderer.setColor(GraphicsUtils.deriveDarker(COLOR2));
defaultPointRenderer.setErrorVisible(true);
defaultPointRenderer.setErrorColor(COLOR2);
plot.setPointRenderer(seriesLog, defaultPointRenderer);
// Format data lines
DiscreteLineRenderer2D discreteRenderer = new DiscreteLineRenderer2D();
discreteRenderer.setColor(COLOR1);
discreteRenderer.setStroke(new BasicStroke(
3.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
10.0f, new float[] {3f, 6f}, 0.0f));
plot.setLineRenderer(seriesLin, discreteRenderer);
// Custom gaps for points
discreteRenderer.setGap(2.0);
discreteRenderer.setGapRounded(true);
// Custom ascending
discreteRenderer.setAscentDirection(Orientation.VERTICAL);
discreteRenderer.setAscendingPoint(0.5);
// Add plot to Swing component
add(new InteractivePanel(plot), BorderLayout.CENTER);
}