cómo anotar un archivo png con ejes y etiquetas en java
agregar ejes y etiquetas a una imagen PNG existente puede ser un desafío. En lugar de intentar modificaciones que podrían conducir a errores e inconsistencias, se recomienda integrar las anotaciones durante el proceso de creación del gráfico.
personalización de ejes y etiquetas utilizando jfreechart
JFreechart proporciona un API integral para personalizar el aspecto de CHARTS, incluidos los eje, incluidos los eje y los laboratorios. El siguiente ejemplo ilustra cómo crear un gráfico personalizado con anotaciones personalizadas:
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Shape;
import java.awt.geom.Ellipse2D;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import javax.swing.JFrame;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
public class ResponseTime {
private static final int N = 600;
private static final String title = "ResponseTime";
private static final Random random = new Random();
private static final Shape circle = new Ellipse2D.Double(-3, -3, 6, 6);
private static final Color line = Color.gray;
private ChartPanel createPanel() {
JFreeChart chart = ChartFactory.createXYLineChart(
title, "Elapsed Time (secs)", "Response Time (secs)",
createDataset(), PlotOrientation.VERTICAL, true, true, false);
XYPlot plot = chart.getXYPlot();
MyRenderer renderer = new MyRenderer(true, true, N);
plot.setRenderer(renderer);
renderer.setSeriesShape(0, circle);
renderer.setSeriesPaint(0, line);
renderer.setUseFillPaint(true);
renderer.setSeriesShapesFilled(0, true);
renderer.setSeriesShapesVisible(0, true);
renderer.setUseOutlinePaint(true);
renderer.setSeriesOutlinePaint(0, line);
ValueAxis range = plot.getRangeAxis();
range.setLowerBound(0.5);
return new ChartPanel(chart);
}
private static class MyRenderer extends XYLineAndShapeRenderer {
private List clut;
public MyRenderer(boolean lines, boolean shapes, int n) {
super(lines, shapes);
clut = new ArrayList(n);
for (int i = 0; i este enfoque le permite controlar todos los aspectos del gráfico, incluido el estilo y la ubicación de los exes, etiquetas y elementos.
elementos individuales de codificación de color para elementos individuales de color, jfreechart proporciona el método getItemFillPaint () en el método xyline. Aquí se explica cómo usarlo:
private static class Myrenderer extiende xylineeShaperenderer {
Lista privada clut;
Myrenderer público (líneas booleanas, formas booleanas, int n) {
super (líneas, formas);
clut = new ArrayList (n);
para (int i = 0; i private static class MyRenderer extends XYLineAndShapeRenderer {
private List clut;
public MyRenderer(boolean lines, boolean shapes, int n) {
super(lines, shapes);
clut = new ArrayList(n);
for (int i = 0; i siguiendo estas técnicas, puede crear gráficos personalizados con anotaciones que cumplan con sus requisitos específicos.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3