make flag 'nolegend' localfor each plot

This commit is contained in:
Holger Vogt 2020-03-06 14:51:39 +01:00
parent 1a407f9b67
commit 2b905607c3
2 changed files with 7 additions and 2 deletions

View File

@ -134,6 +134,8 @@ int gr_init(double *xlims, double *ylims, /* The size of the screen. */
graph->ticdata = NULL;
}
cp_getvar("nolegend", CP_BOOL, &(graph->nolegend), 0);
if (!xlims || !ylims) {
internalerror("gr_init: no range specified");
return FALSE;
@ -184,6 +186,7 @@ int gr_init(double *xlims, double *ylims, /* The size of the screen. */
strcpy(graph->ticchar, pgraph->ticchar);
graph->ticdata = pgraph->ticdata;
graph->ticmarks = pgraph->ticmarks;
graph->nolegend = pgraph->nolegend;
}
/* layout decisions */
@ -434,7 +437,7 @@ static void gr_start_internal(struct dvec *dv, bool copyvec)
}
/* Put the legend entry on the screen. */
if (!cp_getvar("nolegend", CP_BOOL, NULL, 0))
if (!currentgraph->nolegend)
drawlegend(currentgraph, cur.plotno++, dv);
}
@ -610,7 +613,7 @@ void gr_redraw(GRAPH *graph)
cur.plotno = 0;
for (link = graph->plotdata; link; link = link->next) {
/* redraw legend */
if (!cp_getvar("nolegend", CP_BOOL, NULL, 0))
if (!graph->nolegend)
drawlegend(graph, cur.plotno++, link->vector);
/* replot data

View File

@ -33,6 +33,8 @@ struct graph {
int currentcolor;
int linestyle;
bool nolegend;
struct {
int height, width;
} viewport;