Пример #1
0
void
build_example2(GtkWidget *active_plot)
{
 GdkColor color;
 static gdouble px1[]={-0., -0.2, -0.4, -0.6, -0.8, -1.0};
 static gdouble py1[]={-.2, -.4, -.5, -.35, -.30, -.40};
 static gdouble px2[]={-.12, -.22, -.27, -.12, -.052, -.42};
 static gdouble py2[]={-.0, -.05, -.12, -.22, -.16, -.1};

 dataset[1] = GTK_PLOT_DATA(gtk_plot_segment_new());
 gtk_plot_add_data(GTK_PLOT(active_plot), dataset[1]);
 gtk_widget_show(GTK_WIDGET(dataset[1]));
 gtk_plot_data_set_points(dataset[1], px1, py1, px2, py2, 6);
 gtk_plot_segment_set_relative(GTK_PLOT_SEGMENT(dataset[1]), TRUE);
/*
 gtk_plot_segment_center(GTK_PLOT_SEGMENT(dataset[0]), FALSE);
*/

 gdk_color_parse("blue", &color);
 gdk_color_alloc(gdk_colormap_get_system(), &color); 

 gtk_plot_data_set_symbol(dataset[1],
                          GTK_PLOT_SYMBOL_NONE,
			  GTK_PLOT_SYMBOL_OPAQUE,
                          10, 2, &color, &color);
 gtk_plot_data_set_line_attributes(dataset[1],
                                   GTK_PLOT_LINE_NONE,
                                   0, 0, 1, &color);

 gtk_plot_segment_set_arrow (GTK_PLOT_SEGMENT(dataset[1]), 0, 10, GTK_PLOT_SYMBOL_EMPTY);
 gtk_plot_segment_set_arrow_mask (GTK_PLOT_SEGMENT(dataset[1]), GTK_PLOT_ARROW_ORIGIN|GTK_PLOT_ARROW_END);

 gtk_plot_data_set_legend(dataset[1], "Segment");
}
Пример #2
0
void
build_example1(GtkWidget *active_plot)
{
 GdkColor color;
 static gdouble px1[]={0., 0.2, 0.4, 0.6, 0.8, 1.0};
 static gdouble py1[]={.2, .4, .5, .35, .30, .40};
 static gdouble px2[]={.12, .22, .27, .12, .052, .42};
 static gdouble py2[]={.0, .05, .12, .22, .16, .1};

 dataset[0] = GTK_PLOT_DATA(gtk_plot_segment_new());
 gtk_plot_add_data(GTK_PLOT(active_plot), dataset[0]);
 gtk_widget_show(GTK_WIDGET(dataset[0]));
 gtk_plot_data_set_points(dataset[0], px1, py1, px2, py2, 6);
/*
 gtk_plot_segment_center(GTK_PLOT_SEGMENT(dataset[0]), FALSE);
*/

 gdk_color_parse("red", &color);
 gdk_color_alloc(gdk_colormap_get_system(), &color); 

 gtk_plot_data_set_symbol(dataset[0],
                          GTK_PLOT_SYMBOL_CIRCLE,
			  GTK_PLOT_SYMBOL_OPAQUE,
                          10, 2, &color, &color);
 gtk_plot_data_set_line_attributes(dataset[0],
                                   GTK_PLOT_LINE_NONE,
                                   0, 0, 1, &color);

 gtk_plot_data_set_legend(dataset[0], "Vector");

}
Пример #3
0
void
build_example1(GtkWidget *active_plot,GtkPlotDT *data, gint num)
{
 GdkColor color;
 gdouble *px1= (gdouble *)g_malloc(sizeof(gdouble)*num*3);
 gdouble *py1= (gdouble *)g_malloc(sizeof(gdouble)*num*3);
 gdouble *px2= (gdouble *)g_malloc(sizeof(gdouble)*num*3);
 gdouble *py2= (gdouble *)g_malloc(sizeof(gdouble)*num*3);
 gdouble ax,ay,bx,by,cx,cy;
 GtkPlotDTtriangle *t= NULL;
 GList *list = NULL;
 gint i = 0;

 list = data->triangles;
 while(list){
   t = (GtkPlotDTtriangle *)list->data;
   ax= gtk_plot_dt_get_node(data,t->a)->x;
   ay= gtk_plot_dt_get_node(data,t->a)->y;
   bx= gtk_plot_dt_get_node(data,t->b)->x;
   by= gtk_plot_dt_get_node(data,t->b)->y;
   cx= gtk_plot_dt_get_node(data,t->c)->x;
   cy= gtk_plot_dt_get_node(data,t->c)->y;
   px1[i*3+0]= ax;    py1[i*3+0]= ay;
   px2[i*3+0]= bx-ax; py2[i*3+0]= by-ay;
   px1[i*3+1]= bx;    py1[i*3+1]= by;
   px2[i*3+1]= cx-bx; py2[i*3+1]= cy-by;
   px1[i*3+2]= cx;    py1[i*3+2]= cy;
   px2[i*3+2]= ax-cx; py2[i*3+2]= ay-cy;

   i++;
   list = list->next;
 }
 fprintf(stderr,"%d triangles, %d points\n",num,num*3);

 dataset[0] = GTK_PLOT_DATA(gtk_plot_flux_new());
 gtk_plot_add_data(GTK_PLOT(active_plot), dataset[0]);
 gtk_widget_show(GTK_WIDGET(dataset[0]));
 gtk_plot_data_set_points(dataset[0], px1, py1, px2, py2, num*3);

 gtk_plot_flux_center(GTK_PLOT_FLUX(dataset[0]), FALSE);


 gdk_color_parse("red", &color);
 gdk_color_alloc(gdk_colormap_get_system(), &color); 
 gtk_plot_flux_set_arrow(GTK_PLOT_FLUX(dataset[0]), 0, 0, 0);
 gtk_plot_data_set_symbol(dataset[0],
                          GTK_PLOT_SYMBOL_CIRCLE,
			  GTK_PLOT_SYMBOL_OPAQUE,
                          0,1, &color, &color);
 gtk_plot_data_set_line_attributes(dataset[0],
                                   GTK_PLOT_LINE_NONE,
                                   0, &color);

 gtk_plot_data_set_legend(dataset[0], "Delaunay triangulization");

}
Пример #4
0
void
build_example1(GtkWidget *active_plot)
{
 GdkColormap *colormap;
 GdkPixmap *pixmap;
 GdkBitmap *mask;
 static gdouble px1[]={0., 0.2, 0.4, 0.6, 0.8, 1.0};
 static gdouble py1[]={.2, .4, .5, .35, .30, .40};
 static gdouble px2[]={0., 0.2, 0.4, 0.6, 0.8, 1.0};
 static gdouble py2[]={.12, .22, .27, .12, .52, .62};

 colormap = gdk_colormap_get_system();

 pixmap = gdk_pixmap_colormap_create_from_xpm(NULL, colormap, &mask, NULL,
                                              "cloud.xpm");

 dataset[0] = GTK_PLOT_DATA(gtk_plot_pixmap_new(pixmap, mask));
 gtk_plot_add_data(GTK_PLOT(active_plot), dataset[0]);
 gtk_widget_show(GTK_WIDGET(dataset[0]));
 gtk_plot_data_set_points(dataset[0], px1, py1, px2, py2, 6);
 gtk_plot_data_set_legend(dataset[0], "Pixmap 1");

 gdk_pixmap_unref(pixmap);
 gdk_bitmap_unref(mask);

 pixmap = gdk_pixmap_colormap_create_from_xpm(NULL, colormap, &mask, NULL,
                                              "suncloud.xpm");

 dataset[1] = GTK_PLOT_DATA(gtk_plot_pixmap_new(pixmap, mask));
 gtk_plot_add_data(GTK_PLOT(active_plot), dataset[1]);
 gtk_widget_show(GTK_WIDGET(dataset[1]));
 gtk_plot_data_set_points(dataset[1], px2, py2, NULL, NULL, 6);
 gtk_plot_data_set_legend(dataset[1], "Pixmap 2");

 gdk_pixmap_unref(pixmap);
 gdk_bitmap_unref(mask);
}
Пример #5
0
void
build_example2(GtkWidget *active_plot)
{
 GdkColor color1, color2;
 static gdouble px1[]={0., 0.2, 0.4, 0.6, 0.8, 1.0};
 static gdouble py1[]={.56, .12, .12, .5, .2, .21};		/* Open  */
 static gdouble pz1[]={.60, .22, .27, .45, .22, .18};		/* Close */
 static gdouble dy1[]={.52, .10, .12, .40, .16, .16};		/* Low   */
 static gdouble dz1[]={.62, .24, .30, .54, .24, .22};		/* High  */

 dataset[0] = GTK_PLOT_DATA(gtk_plot_candle_new());

/*
 dataset[0] = GTK_PLOT_DATA(gtk_plot_data_new());
 gtk_plot_autoscale(GTK_PLOT(active_plot));
*/

 gtk_plot_add_data(GTK_PLOT(active_plot), dataset[0]);
 gtk_widget_show(GTK_WIDGET(dataset[0]));
 gtk_plot_data_set_points(dataset[0], px1, py1, NULL, dy1, 6);
 gtk_plot_data_set_z(dataset[0], pz1);
 gtk_plot_data_set_dz(dataset[0], dz1);

 gtk_plot_data_show_zerrbars(dataset[0]);

 gdk_color_parse("black", &color1);
 gdk_color_alloc(gdk_colormap_get_system(), &color1); 
 gdk_color_parse("red", &color2);
 gdk_color_alloc(gdk_colormap_get_system(), &color2); 

 gtk_plot_data_set_symbol(dataset[0],
                          GTK_PLOT_SYMBOL_CIRCLE,
			  GTK_PLOT_SYMBOL_FILLED,
                          10, 1, &color2, &color1);
 gtk_plot_data_set_line_attributes(dataset[0],
                                   GTK_PLOT_LINE_NONE,
                                   0, 0, 1, &color1);
/*
 gtk_plot_data_set_x_attributes(dataset[0],
                                GTK_PLOT_LINE_SOLID,
                                0, &active_plot->style->black);
 gtk_plot_data_set_y_attributes(dataset[0],
                                GTK_PLOT_LINE_SOLID,
                                0, &active_plot->style->black);
*/

 gtk_plot_data_set_legend(dataset[0], "Japanese Candles");

}
Пример #6
0
void
build_example1(GtkWidget *active_plot)
{
 GdkColor color;

 static gdouble px1[]={0., 0.2, 0.4, 0.6, 0.8, 1.0};
 static gdouble py1[]={.2, .4, .5, .35, .30, .40};
 static gdouble px2[]={.12, .22, .27, .12, .052, .42};
 static gdouble py2[]={.0, .05, .12, .22, .16, .1};

/*
 static gdouble px1[]={0., 0.2, 0.4, 0.6, 0.8, 1.0};
 static gdouble py1[]={.2, .4, .5, .35, .30, .40};
 static gdouble px2[]={.02, 0, -.02, 0, .052, .42};
 static gdouble py2[]={.0, .05, .0, -0.02, .16, .1};
*/

 dataset[0] = GTK_PLOT_DATA(gtk_plot_flux_new());
 gtk_plot_add_data(GTK_PLOT(active_plot), dataset[0]);
 gtk_widget_show(GTK_WIDGET(dataset[0]));
 gtk_plot_data_set_points(dataset[0], px1, py1, px2, py2, 6);
 gtk_plot_flux_set_size_max(GTK_PLOT_FLUX(dataset[0]), 50);
 gtk_plot_flux_set_scale_max(GTK_PLOT_FLUX(dataset[0]), 0.5);
/*
 gtk_plot_flux_set_labels_prefix(GTK_PLOT_FLUX(dataset[0]), "A");
 gtk_plot_flux_set_labels_suffix(GTK_PLOT_FLUX(dataset[0]), "B");
*/
/*
 gtk_plot_flux_center(GTK_PLOT_FLUX(dataset[0]), FALSE);
*/

 gdk_color_parse("red", &color);
 gdk_color_alloc(gdk_colormap_get_system(), &color); 

 gtk_plot_data_set_symbol(dataset[0],
                          GTK_PLOT_SYMBOL_NONE,
			  GTK_PLOT_SYMBOL_OPAQUE,
                          10, 2, &color, &color);
 gtk_plot_data_set_line_attributes(dataset[0],
                                   GTK_PLOT_LINE_NONE,
                                   0, 0, 1, &color);

 gtk_plot_data_set_legend(dataset[0], "Flux");

}