Focal Point
[SOLVED] Graph Y-axis Increments - Millions vs 1000s

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/2487095196

September 04, 2019, 04:15 PM
BI_Developer
[SOLVED] Graph Y-axis Increments - Millions vs 1000s
Hello

I am working on a line graph and having issue with Y-axis scale increments.

Please suggest. Thank you.

This message has been edited. Last edited by: BI_Developer,


WF 8.2.01 APP STUDIO
PDF,HTML,EXL2K,Active
September 05, 2019, 07:39 AM
MartinY
You need to add these lines where you can pass parameters instead of fix value

-* To manage maximum displayed value in Y-axis
setScaleMaxAuto(getY1Axis(),false);
setScaleMax(getY1Axis(),100.0);

-* To manage steps in Y-axis
setGridStepAuto(getY1MajorGrid(),false);
setGridStep(getY1MajorGrid(),10.0);

As you stated yourself, you will have first to determine what is your maximum and if it has to be displayed in M or K. You will then be able to calculate the step value to pass.


WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF
In Focus since 2007
September 05, 2019, 12:17 PM
BI_Developer
Thanks Martin.
I calculated the maximum value and then divided it by 5 to control the number of values on Y-axis scale. It is all working fine.
But I am looking to display M and K in scale.

setTextFormatPreset(getY1Label(),15);

When I used above statement, it displays in millions (90,000,000 shows as 90M). I am not able to find an option to show in K (90,000K). It would be OK even if $ symbol shows up prefixing the number.
quote:
Originally posted by MartinY:
You need to add these lines where you can pass parameters instead of fix value

-* To manage maximum displayed value in Y-axis
setScaleMaxAuto(getY1Axis(),false);
setScaleMax(getY1Axis(),100.0);

-* To manage steps in Y-axis
setGridStepAuto(getY1MajorGrid(),false);
setGridStep(getY1MajorGrid(),10.0);

As you stated yourself, you will have first to determine what is your maximum and if it has to be displayed in M or K. You will then be able to calculate the step value to pass.



WF 8.2.01 APP STUDIO
PDF,HTML,EXL2K,Active
September 05, 2019, 01:18 PM
MartinY
As $999K
setTextFormatPreset(getY1Label(),8);

As 999K
setTextFormatPreset(getY1Label(),7);



WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF
In Focus since 2007
September 05, 2019, 01:33 PM
BI_Developer
quote:
Originally posted by MartinY:
As $999K
setTextFormatPreset(getY1Label(),8);

As 999K
setTextFormatPreset(getY1Label(),7);

I tried these before posting here. This is showing 3 decimal places. I am looking for only 1 decimal place in millions or thousands.


WF 8.2.01 APP STUDIO
PDF,HTML,EXL2K,Active
September 05, 2019, 02:18 PM
MartinY
It's not showing any decimal at all in the Y-axis but it does (2 decimals) in the bar tooltip as per COMPUTE definition

ENGINE INT CACHE SET ON
SET PAGE-NUM=NOLEAD
SET ARGRAPHENGINE=JSCHART
SET EMBEDHEADING=ON
SET GRAPHDEFAULT=OFF
-DEFAULTH &WF_STYLE_UNITS='PIXELS';
-DEFAULTH &WF_STYLE_HEIGHT='405.0';
-DEFAULTH &WF_STYLE_WIDTH='770.0';
-DEFAULTH &WF_TITLE='WebFOCUS Report';
ENGINE INT CACHE SET ON
SET PAGE-NUM=NOLEAD
SET ARGRAPHENGINE=JSCHART
SET EMBEDHEADING=ON
SET GRAPHDEFAULT=OFF
-DEFAULTH &WF_STYLE_UNITS='PIXELS';
-DEFAULTH &WF_STYLE_HEIGHT='405.0';
-DEFAULTH &WF_STYLE_WIDTH='770.0';
-DEFAULTH &WF_TITLE='WebFOCUS Report';
GRAPH FILE car
SUM COMPUTE SLS/P8.2C=(SALES + 100) * 100 ; AS 'Sales'
BY CAR.ORIGIN.COUNTRY
ON GRAPH PCHOLD FORMAT JSCHART
ON GRAPH SET VZERO OFF
ON GRAPH SET AUTOFIT ON
ON GRAPH SET GRWIDTH 1
ON GRAPH SET UNITS &WF_STYLE_UNITS
ON GRAPH SET HAXIS &WF_STYLE_WIDTH
ON GRAPH SET VAXIS &WF_STYLE_HEIGHT
ON GRAPH SET LOOKGRAPH BAR
ON GRAPH SET AUTOFIT ON
ON GRAPH SET STYLE *
*GRAPH_SCRIPT
setPieDepth(0);
setPieTilt(0);
setDepthRadius(0);
setPlace(true);
setCurveFitEquationDisplay(false);
*END
INCLUDE=IBFS:/FILE/IBI_HTML_DIR/ibi_themes/Warm.sty,$
TYPE=REPORT, TITLETEXT=&WF_TITLE.QUOTEDSTRING, $
TYPE=DATA, COLUMN=N1, BUCKET=x-axis, $
TYPE=DATA, COLUMN=N2, BUCKET=y-axis, $
*GRAPH_SCRIPT
setReportParsingErrors(false);
setSelectionEnableMove(false);
setTextFormatPreset(getY1Label(), 8);
*END
ENDSTYLE
END
-RUN

To have decimal and K separator in Y-axis use below

ENGINE INT CACHE SET ON
SET PAGE-NUM=NOLEAD
SET ARGRAPHENGINE=JSCHART
SET EMBEDHEADING=ON
SET GRAPHDEFAULT=OFF
-DEFAULTH &WF_STYLE_UNITS='PIXELS';
-DEFAULTH &WF_STYLE_HEIGHT='405.0';
-DEFAULTH &WF_STYLE_WIDTH='770.0';
-DEFAULTH &WF_TITLE='WebFOCUS Report';
ENGINE INT CACHE SET ON
SET PAGE-NUM=NOLEAD
SET ARGRAPHENGINE=JSCHART
SET EMBEDHEADING=ON
SET GRAPHDEFAULT=OFF
-DEFAULTH &WF_STYLE_UNITS='PIXELS';
-DEFAULTH &WF_STYLE_HEIGHT='405.0';
-DEFAULTH &WF_STYLE_WIDTH='770.0';
-DEFAULTH &WF_TITLE='WebFOCUS Report';
GRAPH FILE car
SUM COMPUTE SLS/P8.2C=(SALES + 100) * 100 ; AS 'Sales'
BY CAR.ORIGIN.COUNTRY
ON GRAPH PCHOLD FORMAT JSCHART
ON GRAPH SET VZERO OFF
ON GRAPH SET AUTOFIT ON
ON GRAPH SET GRWIDTH 1
ON GRAPH SET UNITS &WF_STYLE_UNITS
ON GRAPH SET HAXIS &WF_STYLE_WIDTH
ON GRAPH SET VAXIS &WF_STYLE_HEIGHT
ON GRAPH SET LOOKGRAPH BAR
ON GRAPH SET AUTOFIT ON
ON GRAPH SET STYLE *
*GRAPH_SCRIPT
setPieDepth(0);
setPieTilt(0);
setDepthRadius(0);
setPlace(true);
setCurveFitEquationDisplay(false);
*END
INCLUDE=IBFS:/FILE/IBI_HTML_DIR/ibi_themes/Warm.sty,$
TYPE=REPORT, TITLETEXT=&WF_TITLE.QUOTEDSTRING, $
TYPE=DATA, COLUMN=N1, BUCKET=x-axis, $
TYPE=DATA, COLUMN=N2, BUCKET=y-axis, $
*GRAPH_SCRIPT
setReportParsingErrors(false);
setSelectionEnableMove(false);
*END
*GRAPH_JS
yaxis: {numberFormat: {"mode": "currency", "decimalPlaces": 2, "grouping": "K"}}
*END
ENDSTYLE
END
-RUN

Refer to this document (search : thousandSep) : Creating HTML5 Charts 8201


WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF
In Focus since 2007