public Canvas canvas() {
        Canvas canvas = new Canvas(getLowerBound(), getUpperBound());
        canvas.add(this);
        if (name != null) {
            canvas.setTitle(name);
        }
        return canvas;
    }
@Test
    public void testHeart() throws Exception {
        System.out.println("Heart");

        double[][] heart = new double[200][2];
        for (int i = 0; i < 200; i++) {
            double t = PI * (i - 100) / 100;
            heart[i][0] = 16 * pow(sin(t), 3);
            heart[i][1] = 13 * cos(t) - 5 * cos(2*t) - 2 * cos(3*t) - cos(4*t);
        }

        var canvas = LinePlot.of(heart, RED).canvas();
        canvas.window();
    }