diff --git a/src/lib/aqdiagram/graph/axis.t2d b/src/lib/aqdiagram/graph/axis.t2d index cf9c058..b089cad 100644 --- a/src/lib/aqdiagram/graph/axis.t2d +++ b/src/lib/aqdiagram/graph/axis.t2d @@ -22,6 +22,7 @@
gwenhywfar/buffer.h
gwenhywfar/timestamp.h
gwenhywfar/gwendate.h
+
gwenhywfar/debug.h
math.h
@@ -72,6 +73,8 @@ absMaxValue=(v>absMaxValue)?v:absMaxValue; \n \n dbuf=GWEN_Buffer_new(0, 64, 0, 1); \n + if (absMaxValue==0.0) \n + absMaxValue=1.0; \n v=pow(10, floor(log10(absMaxValue))); \n \n startValue=v*10.0; \n @@ -80,6 +83,7 @@ \n vRun=startValue; \n v/=10.0; \n + DBG_ERROR(NULL, "vRun=%.2f, v=%.2f, vMin=%.2f, vMax=%.2f", vRun, v, st->minValue, st->maxValue); \n while(vRun<=(st->maxValue)) { \n if (vRun>=(st->minValue)) { \n if (!$(struct_prefix)_HasTickValue(st, vRun)) { \n @@ -93,6 +97,7 @@ \n vRun=startValue; \n v/=2.0; \n + DBG_ERROR(NULL, "vRun=%.2f, v=%.2f, vMin=%.2f, vMax=%.2f", vRun, v, st->minValue, st->maxValue); \n while(vRun<=(st->maxValue)) { \n if (vRun>=(st->minValue)) { \n if (!$(struct_prefix)_HasTickValue(st, vRun)) { \n diff --git a/src/lib/aqdiagram/graph/timegraph.c b/src/lib/aqdiagram/graph/timegraph.c index 81c2251..6947f53 100644 --- a/src/lib/aqdiagram/graph/timegraph.c +++ b/src/lib/aqdiagram/graph/timegraph.c @@ -108,6 +108,33 @@ void AQDG_TimeGraph_SetupTicks(AQDG_GRAPH *g, uint32_t flags, double minY, doubl /* create ticks for Y axis */ axis=AQDG_Graph_GetAxisByIndex(g, AQDG_GRAPH_AXISPOS_LEFT); if (axis) { + double vMax; + double vMin; + double vDiff; + + vMin=AQDG_Graph_Axis_GetMinValue(axis); + vMax=AQDG_Graph_Axis_GetMaxValue(axis); + vDiff=vMax-vMin; + DBG_ERROR(NULL, "old vMin=%.2f, vMax=%.2f", vMin, vMax); + + if (vDiff==0.0) { + DBG_ERROR(NULL, "min = max = %.2f", vMax); + vDiff=vMax; + if (vDiff==0.0) + vDiff=1.0; + } + if (vDiff>0.0) { + double vDiffBy10; + + DBG_ERROR(NULL, "Setting vmin and vmax"); + vDiffBy10=vDiff/10.0; + vMin-=vDiffBy10; + vMax+=vDiffBy10; + DBG_ERROR(NULL, "new vMin=%.2f, vMax=%.2f", vMin, vMax); + AQDG_Graph_Axis_SetMinValue(axis, vMin); + AQDG_Graph_Axis_SetMaxValue(axis, vMax); + } + if (flags & AQDG_TIMEGRAPH_SETUPTICKS_FLAGS_MINY) AQDG_Graph_Axis_SetMinValue(axis, minY); if (flags & AQDG_TIMEGRAPH_SETUPTICKS_FLAGS_MAXY) diff --git a/src/lib/aqdiagram/graph/w_graph.c b/src/lib/aqdiagram/graph/w_graph.c index 0ede3c7..b27fed8 100644 --- a/src/lib/aqdiagram/graph/w_graph.c +++ b/src/lib/aqdiagram/graph/w_graph.c @@ -506,8 +506,8 @@ void AQDG_GraphWidget_SetupDefaultPens(AQDG_OBJECT *o) MKPEN(AQDG_GRAPHWIDGET_PEN_IDX_TITLE, AQDG_GRAPHWIDGET_COL_BLACK, 2, AQDG_Dash_None); MKPEN(AQDG_GRAPHWIDGET_PEN_IDX_SUBTITLE, AQDG_GRAPHWIDGET_COL_BLACK, 1, AQDG_Dash_None); - MKPEN(AQDG_GRAPHWIDGET_PEN_IDX_AXISLINE, AQDG_GRAPHWIDGET_COL_BLACK, 1, AQDG_Dash_None); - MKPEN(AQDG_GRAPHWIDGET_PEN_IDX_AXISLABEL, AQDG_GRAPHWIDGET_COL_BLACK, 1, AQDG_Dash_None); + MKPEN(AQDG_GRAPHWIDGET_PEN_IDX_AXISLINE, AQDG_GRAPHWIDGET_COL_GRAY, 1, AQDG_Dash_None); + MKPEN(AQDG_GRAPHWIDGET_PEN_IDX_AXISLABEL, AQDG_GRAPHWIDGET_COL_GRAY, 1, AQDG_Dash_None); MKPEN(AQDG_GRAPHWIDGET_PEN_IDX_TICKLABELMAINLEVEL, AQDG_GRAPHWIDGET_COL_BLACK, 1, AQDG_Dash_None); MKPEN(AQDG_GRAPHWIDGET_PEN_IDX_TICKLABELSUBLEVEL, AQDG_GRAPHWIDGET_COL_BLACK, 1, AQDG_Dash_None); MKPEN(AQDG_GRAPHWIDGET_PEN_IDX_TICKMAINLEVEL, AQDG_GRAPHWIDGET_COL_BLACK, 1, AQDG_Dash_None); @@ -549,7 +549,7 @@ void AQDG_GraphWidget_SetupDefaultFonts(AQDG_OBJECT *o) MKNORMALFONT(AQDG_GRAPHWIDGET_FONT_IDX_AXISLABEL, 12); MKNORMALFONT(AQDG_GRAPHWIDGET_FONT_IDX_TICKLABELMAINLEVEL, 12); MKNORMALFONT(AQDG_GRAPHWIDGET_FONT_IDX_TICKLABELSUBLEVEL, 10); - MKNORMALFONT(AQDG_GRAPHWIDGET_FONT_IDX_LEGEND, 10); + MKNORMALFONT(AQDG_GRAPHWIDGET_FONT_IDX_LEGEND, 11); #undef MKNORMALFONT }