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/timestamp.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>
|
||||
</headers>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user