"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo agregar ejes y etiquetas a archivos PNG en Java?

¿Cómo agregar ejes y etiquetas a archivos PNG en Java?

Publicado el 2025-05-03
Navegar:691

How to Annotate a PNG File with Axes and Labels in Java?

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.

Último tutorial Más>

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