Как построить график любой функции с помощью библиотеки JFreeChart?

111
16 августа 2019, 01:00

Делаю проект по биоритмам. Нужно написать код для графика функции. В принципе ничего там сложного нет, но я новичок в Java и знаю я мало.

Функция выглядит следующем образом: (sin (2pi*t/P))*100, где pi - число Пи, t - кол-во прожитых дней, а P - коэффициенты которые представлены как константа для всех прожитых дней (их три: 23,28,33), каждый из коэффициентов подставляется в зависимости от того, что нам нужно и все это выражении - либо физический биоритм, либо интеллектуальный, либо духовный. Я думаю формулу, которую я написал выше нужно подставить вместо X. Нашел код в интернете с помощью которого реализуется график (любой), с помощью библиотеки JFreeChart. Если кто знает устраивает ли этот код для моей работы и что нужно корректировать ибо я сам я не могу понять что да как.

import javax.swing.JFrame;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
    public class BioR {
        public int[] p = {23,28,33};
        public double pi = 3.14;
        public static int t = 5000;
      public static void main(String[] args) {
        XYSeries series = new XYSeries("sin(a)");` `
        for(float i = 0; i < 10; i++){
          series.add(i, Math.sin((Math.PI*t/23)*100));
        }
        XYDataset xyDataset = new XYSeriesCollection(series);
        JFreeChart chart = ChartFactory
            .createXYLineChart("y = sin(x)", "x", "y",
                               xyDataset, 
                               PlotOrientation.VERTICAL,
                               true, true, true);
        JFrame frame = 
            new JFrame("Физический биоритм");
        // Помещаем график на фрейм
        frame.getContentPane()
            .add(new ChartPanel(chart));
        frame.setSize(800,600);
        frame.show();
      }
    }
READ ALSO
Как отобразить график без точек javafx

Как отобразить график без точек javafx

Как нарисовать график, используя linechart, единой линией без точекЯ пробовал данный метод

119
Оптимизация приложения под планшеты

Оптимизация приложения под планшеты

Создал и загрузил приложение в маркетЧерез несколько часов после публикации пришло уведомление что оно не оптимизировано для планшетов

108
Как обратиться к объекту класса из другого класса?

Как обратиться к объекту класса из другого класса?

Стоит задача создать игру: есть поле 100х100, на котором рандомно появляются 2 мыши и начинают бежать по диагоналиТакже на поле появляются 18 кустов

121
NavigationView android studio

NavigationView android studio

Как сделать так, как было раньше в вк? Те

124