improved graph.
This commit is contained in:
@@ -22,6 +22,7 @@
|
|||||||
<header type="sys" loc="pre">gwenhywfar/buffer.h</header>
|
<header type="sys" loc="pre">gwenhywfar/buffer.h</header>
|
||||||
<header type="sys" loc="pre">gwenhywfar/timestamp.h</header>
|
<header type="sys" loc="pre">gwenhywfar/timestamp.h</header>
|
||||||
<header type="sys" loc="pre">gwenhywfar/gwendate.h</header>
|
<header type="sys" loc="pre">gwenhywfar/gwendate.h</header>
|
||||||
|
<header type="sys" loc="pre">gwenhywfar/debug.h</header>
|
||||||
<header type="sys" loc="pre">math.h</header>
|
<header type="sys" loc="pre">math.h</header>
|
||||||
</headers>
|
</headers>
|
||||||
|
|
||||||
@@ -72,6 +73,8 @@
|
|||||||
absMaxValue=(v>absMaxValue)?v:absMaxValue; \n
|
absMaxValue=(v>absMaxValue)?v:absMaxValue; \n
|
||||||
\n
|
\n
|
||||||
dbuf=GWEN_Buffer_new(0, 64, 0, 1); \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
|
v=pow(10, floor(log10(absMaxValue))); \n
|
||||||
\n
|
\n
|
||||||
startValue=v*10.0; \n
|
startValue=v*10.0; \n
|
||||||
@@ -80,6 +83,7 @@
|
|||||||
\n
|
\n
|
||||||
vRun=startValue; \n
|
vRun=startValue; \n
|
||||||
v/=10.0; \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
|
while(vRun<=(st->maxValue)) { \n
|
||||||
if (vRun>=(st->minValue)) { \n
|
if (vRun>=(st->minValue)) { \n
|
||||||
if (!$(struct_prefix)_HasTickValue(st, vRun)) { \n
|
if (!$(struct_prefix)_HasTickValue(st, vRun)) { \n
|
||||||
@@ -93,6 +97,7 @@
|
|||||||
\n
|
\n
|
||||||
vRun=startValue; \n
|
vRun=startValue; \n
|
||||||
v/=2.0; \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
|
while(vRun<=(st->maxValue)) { \n
|
||||||
if (vRun>=(st->minValue)) { \n
|
if (vRun>=(st->minValue)) { \n
|
||||||
if (!$(struct_prefix)_HasTickValue(st, vRun)) { \n
|
if (!$(struct_prefix)_HasTickValue(st, vRun)) { \n
|
||||||
|
|||||||
@@ -108,6 +108,33 @@ void AQDG_TimeGraph_SetupTicks(AQDG_GRAPH *g, uint32_t flags, double minY, doubl
|
|||||||
/* create ticks for Y axis */
|
/* create ticks for Y axis */
|
||||||
axis=AQDG_Graph_GetAxisByIndex(g, AQDG_GRAPH_AXISPOS_LEFT);
|
axis=AQDG_Graph_GetAxisByIndex(g, AQDG_GRAPH_AXISPOS_LEFT);
|
||||||
if (axis) {
|
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)
|
if (flags & AQDG_TIMEGRAPH_SETUPTICKS_FLAGS_MINY)
|
||||||
AQDG_Graph_Axis_SetMinValue(axis, minY);
|
AQDG_Graph_Axis_SetMinValue(axis, minY);
|
||||||
if (flags & AQDG_TIMEGRAPH_SETUPTICKS_FLAGS_MAXY)
|
if (flags & AQDG_TIMEGRAPH_SETUPTICKS_FLAGS_MAXY)
|
||||||
|
|||||||
@@ -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_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_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_AXISLINE, AQDG_GRAPHWIDGET_COL_GRAY, 1, AQDG_Dash_None);
|
||||||
MKPEN(AQDG_GRAPHWIDGET_PEN_IDX_AXISLABEL, AQDG_GRAPHWIDGET_COL_BLACK, 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_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_TICKLABELSUBLEVEL, AQDG_GRAPHWIDGET_COL_BLACK, 1, AQDG_Dash_None);
|
||||||
MKPEN(AQDG_GRAPHWIDGET_PEN_IDX_TICKMAINLEVEL, 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_AXISLABEL, 12);
|
||||||
MKNORMALFONT(AQDG_GRAPHWIDGET_FONT_IDX_TICKLABELMAINLEVEL, 12);
|
MKNORMALFONT(AQDG_GRAPHWIDGET_FONT_IDX_TICKLABELMAINLEVEL, 12);
|
||||||
MKNORMALFONT(AQDG_GRAPHWIDGET_FONT_IDX_TICKLABELSUBLEVEL, 10);
|
MKNORMALFONT(AQDG_GRAPHWIDGET_FONT_IDX_TICKLABELSUBLEVEL, 10);
|
||||||
MKNORMALFONT(AQDG_GRAPHWIDGET_FONT_IDX_LEGEND, 10);
|
MKNORMALFONT(AQDG_GRAPHWIDGET_FONT_IDX_LEGEND, 11);
|
||||||
|
|
||||||
#undef MKNORMALFONT
|
#undef MKNORMALFONT
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user