Rysowanie wykrsu w 2d

0

Witam.

Czy ktos moze mi podac nazwe sprawdzonego pakietu, w ktorym moglbym narysowac taki wykres: user image.

We tych pakietach, ktore ja znajdowalem była możliwosć rysowania funkcji - czyli ciągłości, a mi chodzi o umieszczenie kilku punktów na płaszczyźnie dwuwymiarowej. Wiem iż można by to było zrobić samemu, ale dodatkowo zalezy mi na możliwość przybliżania (zoomu) - a z tym jest wiecej pracy. Jesli ktos zna taki pakiet to prosiłbym o podanie nazwy, ewentualnie linku.

Dzięki. Pozdrawiam, Adam

0

np. JFreeChart

0

Dzięki - udaje mi sie rysowac to o co mi chodziło - dowolne punkty na plaszczysnie dwuwymiarowej. Ale chcialbym do nich dodac jeszcze etykiety - żeby można sie było połapć który punkt co reprezentuje. Jaki w tym celu obiekt wykorzystać, na razie mam coś takiego:

        dataset = createDataset();
        chart = createChart(dataset);
        chartPanel = new ChartPanel(chart);

XYDataset createDataset() 
	
	{
        
        XYSeries series1 = new XYSeries("Skalowanie wielowymiarowe");
        
        for(int i=0;i<X;i++)
		{
		series1.add(wspol.get(i,0),wspol.get(i,1));
		}

        final XYSeriesCollection dataset = new XYSeriesCollection();
        dataset.addSeries(series1);
                
        return dataset;
        
    }

JFreeChart createChart(final XYDataset dataset) {
        
        final JFreeChart chart = ChartFactory.createXYLineChart(
            "Skalowanie",      // tytul
            "Wymiar1",         // etykieta osi X
            "Wymiar2",         // etykieta osi Y
            dataset,           // dane
            PlotOrientation.VERTICAL,
            true,                     // legenda
            true,                     // tooltips
            false                     // urls
        );

        chart.setBackgroundPaint(Color.white);

        final XYPlot plot = chart.getXYPlot();
        plot.setBackgroundPaint(Color.lightGray);
        plot.setDomainGridlinePaint(Color.white);
        plot.setRangeGridlinePaint(Color.white);
        
        final XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
        renderer.setSeriesLinesVisible(0, false);
        renderer.setSeriesShapesVisible(1, false);
        plot.setRenderer(renderer);

        final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
        rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
                
        return chart;
        
    }

Ale jak wspomnialem to rysuej bez etykiet. Czy na tym etapie wystarczy coś zmienić, czy musze całkowicie inne klasy do tego zadania zaciągnąć?

0

Zobacz przykłady JFreeChart'a - słowo klucz label.

1 użytkowników online, w tym zalogowanych: 0, gości: 1