+ for (i = 0; i < 100; i++) {
+ double t = 1.0 - (i / 100.0);
+ acre_data_add_point_2d (data1, i, -1000 * (1.0 - t*t*t));
+ }
+
+ for (i = 0; i <= 1000; i++) {
+ double t, x, y;
+ t = i/10.0 - 50;
+ x = t + 50;
+ if (t == 0.0)
+ y = -200;
+ else
+ y = -1200 + 1000 * sin(t) / t;
+ acre_data_add_point_2d (data2, x, y);
+ }
+
+ acre_add_data (acre, data0);
+ acre_add_data (acre, data1);
+ acre_add_data (acre, data2);
+
+ /* Draw a full-data-range graph in upper-left. */
+ acre_set_title (acre, "All the data");
+
+ acre_draw (acre, cr, 800, 600);
+
+ /* Zoom in on X and draw at lower-left. */
+ cairo_translate (cr, 0, 600);
+
+ acre_set_title (acre, "Zoom X, auto-size Y");
+ acre_set_x_axis_range (acre, 40, 60);
+
+ acre_draw (acre, cr, 800, 600);
+
+ /* Zoom in on Y and draw at upper-right. */
+ cairo_translate (cr, 800, -600);
+
+ acre_set_title (acre, "Zoom Y, auto-size X");
+ acre_set_x_axis_range_auto (acre);
+ acre_set_y_axis_range (acre, -250, 0);
+
+ acre_draw (acre, cr, 800, 600);
+
+ /* Zoom out on X and Y lower-right. */
+ cairo_translate (cr, 0, 600);
+
+ acre_set_title (acre, "Zoom out X and Y");
+ acre_set_x_axis_range (acre, -50, 150);
+ acre_set_y_axis_range (acre, -1500, 500);