void plot_setcur(char *name) { struct plot *pl; if (cieq(name, "new")) { pl = plot_alloc("unknown"); pl->pl_title = copy("Anonymous"); pl->pl_name = copy("unknown"); pl->pl_date = copy(datestring()); plot_new(pl); plot_cur = pl; return; } for (pl = plot_list; pl; pl = pl->pl_next) if (plot_prefix(name, pl->pl_typename)) break; if (!pl) { fprintf(cp_err, "Error: no such plot named %s\n", name); return; } /* va: we skip cp_kwswitch, because it confuses the keyword-tree management for * repeated op-commands. When however cp_kwswitch is necessary for other * reasons, we should hold the original keyword table pointer in an * permanent variable, since it will lost here, and can never tfree'd. if (plot_cur) { plot_cur->pl_ccom = cp_kwswitch(CT_VECTOR, pl->pl_ccom); } */ plot_cur = pl; }
int main(int argc, const char **argv) { plot_type *item; plot_dataset_type *d; PLFLT *x, *y; double x_max, y_max; int N; const char *kw = argv[1]; if (argc < 2) { fprintf(stderr, "Error: give keyword as argument!\n"); exit(EXIT_FAILURE); } item = plot_alloc(); plot_set_window_size(item, 1152, 768); plot_initialize(item, "png", "punqs3.png"); { char str[PATH_MAX]; int i, k; int len = 2; int interval[len][2]; interval[0][0] = 1; interval[0][1] = 10; interval[1][0] = 50; interval[1][1] = 60; for (i = 0; i < len; i++) { for (k = interval[i][0]; k <= interval[i][1]; k++) { snprintf(str, PATH_MAX, "/h/masar/EnKF_PUNQS3/PUNQS3/Original/Realizations/PUNQS3_Realization_%d/PUNQS3_%d.DATA", k, k); plot_summary_collect_data(&x, &y, &N, str, kw); d = plot_dataset_alloc(false); plot_dataset_set_data(d, x, y, N, BLUE, LINE); plot_dataset_add(item, d); util_safe_free(x); util_safe_free(y); snprintf(str, PATH_MAX, "/d/proj/bg/enkf/EnKF_PUNQS3/enkf_runs/member_%03d/PUNQS3_%04d.DATA", k, k); d = plot_dataset_alloc( false ); plot_summary_collect_data(&x, &y, &N, str, kw); plot_dataset_set_data(d, x, y, N, RED, LINE); plot_dataset_add(item, d); util_safe_free(x); util_safe_free(y); } } } d = plot_dataset_alloc(); plot_summary_collect_data(&x, &y, &N, "/d/proj/bg/enkf/EnKF_PUNQS3/PUNQS3/Original/PUNQS3.DATA", kw); plot_dataset_set_data(d, x, y, N, BLACK, POINT); plot_dataset_add(item, d); util_safe_free(x); util_safe_free(y); plot_set_labels(item, "Days", kw, "PUNQS3", BLACK); plot_get_extrema(item, &x_max, &y_max, NULL, NULL); plot_set_viewport(item, 0, x_max, 0, y_max); plot_data(item); plot_free(item); }