Focal Point
[SOLVED] Thicker Bars in a Graph

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

October 31, 2017, 10:43 AM
Doug
[SOLVED] Thicker Bars in a Graph
All I need is:
1) Thicken up these bars so that they fill in the vertical space.
2) The field names to the left of each bar.
3) Maybe a gap between the the bars (spacing).

This used to be so easy... I guess I'm missing something... Frowner
-*******************************************************************************************************************
-* Douglas Lee, AKA: FocalPoint Doug at TheFamiLee.net
-*******************************************************************************************************************
APP PATH IBISAMP
ENGINE INT CACHE SET ON
GRAPH FILE CAR
SUM COMPUTE
ITEM01/I4 = 975 ;
ITEM02/I4 = 960 ;
ITEM03/I4 = 918 ;
ITEM04/I4 = 450 ;
ITEM05/I4 = 897 ;
ITEM06/I4 = 892 ;
ITEM07/I4 =  13 ;
ITEM08/I4 =  36 ;
ITEM09/I4 = 618 ;
ITEM10/I4 = 245 ;
BY CAR.ORIGIN.COUNTRY NOPRINT
WHERE RECORDLIMIT EQ 1;
ON GRAPH PCHOLD FORMAT JSCHART
ON GRAPH SET VZERO OFF
ON GRAPH SET HTMLENCODE ON
ON GRAPH SET GRWIDTH 1
ON GRAPH SET HAXIS 770.0
ON GRAPH SET VAXIS 405.0
ON GRAPH SET LOOKGRAPH BAR
ON GRAPH SET STYLE *
*GRAPH_SCRIPT
setPieDepth(0);
setPieTilt(0);
setDepthRadius(0);
setCurveFitEquationDisplay(false);
setPlace(true);
*END
INCLUDE=IBFS:/FILE/IBI_HTML_DIR/ibi_themes/Warm.sty,$
TYPE=REPORT, TITLETEXT='GRAPH 1, $
TYPE=DATA, COLUMN=N1, BUCKET=x-axis, $
TYPE=DATA, COLUMN=N2, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N3, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N4, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N5, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N6, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N7, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N8, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N9, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N10, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N11, BUCKET=y-axis, $
*GRAPH_SCRIPT
setReportParsingErrors(false);
setSelectionEnableMove(false);
setDisplay(getLegendArea(),false);
setScaleMinAuto(getY1Axis(),false);
setScaleMaxAuto(getY1Axis(),false);
setScaleMax(getY1Axis(),1000.0);
setGridStepAuto(getY1MajorGrid(),false);
setGridStep(getY1MajorGrid(),100.0);
setLabelStagger(getY1Label(),true);
setDataTextPosition(3);
setFontName(getDataText(),"ARIAL");
setFontSizeAbsolute(getDataText(),true);
setAutofit(getDataText(),false);
setPlaceResize(getDataText(),0);
setDisplay(getDataText(),true);
setDataTextDisplay(true);
setPieFeelerTextDisplay(1);
setFontSizeInPoints(getDataText(),10);
setDisplay(getO1Label(),false);
*GRAPH_JS_FINAL
"blaProperties": {
    "orientation": "horizontal"
},
"agnosticSettings": {
    "chartTypeFullName": "Bar_Clustered_Horizontal"
}
*END
ENDSTYLE
END
-RUN

-*IA_GRAPH_FINISH
-RUN
Thanks in advance, Doug

This message has been edited. Last edited by: FP Mod Chuck,




   In FOCUS Since 1983 ~ from FOCUS to WebFOCUS.
   Current: WebFOCUS Administrator at FIS Worldpay | 8204, 8206
October 31, 2017, 11:29 AM
MartinY
As per : 1) Thicken up these bars so that they fill in the vertical space.
I think that you need to add
setDisplay(getY1MajorGrid(),false);


As per : 2) The field names to the left of each bar.
I don't understand what you're looking for. Which field name ? Are you talking about data value ?
Personally I would use the "Above" instead of the "Inside" which make it more easy to read.
setDataTextPosition(1);


As per : 3) Maybe a gap between the bars (spacing).
If you want to display so many measure per BY field (you have 10 item per country) you will need to add a dummy column between each. By default each BY measure are tightened together.
But this is not a good option since you are displaying the data value so 0 are displayed.

APP PATH IBISAMP
ENGINE INT CACHE SET ON

DEFINE FILE CAR
DUMMY /I1 MISSING ON = MISSING;
END
GRAPH FILE CAR
SUM COMPUTE ITEM01/I4 = 975 ;
    DUMMY AS ''
    COMPUTE ITEM02/I4 = 960 ;
    DUMMY AS ''
    COMPUTE ITEM03/I4 = 918 ;
    DUMMY AS ''
    COMPUTE ITEM04/I4 = 450 ;
    DUMMY AS ''
    COMPUTE ITEM05/I4 = 897 ;
    DUMMY AS ''
    COMPUTE ITEM06/I4 = 892 ;
    DUMMY AS ''
    COMPUTE ITEM07/I4 =  13 ;
    DUMMY AS ''
    COMPUTE ITEM08/I4 =  36 ;
    DUMMY AS ''
    COMPUTE ITEM09/I4 = 618 ;
    DUMMY AS ''
    COMPUTE ITEM10/I4 = 245 ;
BY CAR.ORIGIN.COUNTRY NOPRINT
WHERE RECORDLIMIT EQ 1;
ON GRAPH PCHOLD FORMAT JSCHART
ON GRAPH SET VZERO OFF
ON GRAPH SET HTMLENCODE ON
ON GRAPH SET GRWIDTH 1
ON GRAPH SET HAXIS 770.0
ON GRAPH SET VAXIS 405.0
ON GRAPH SET LOOKGRAPH BAR
ON GRAPH SET STYLE *
*GRAPH_SCRIPT
setPieDepth(0);
setPieTilt(0);
setDepthRadius(0);
setCurveFitEquationDisplay(false);
setPlace(true);
*END
-*INCLUDE=IBFS:/FILE/IBI_HTML_DIR/ibi_themes/Warm.sty,$
TYPE=REPORT, TITLETEXT='GRAPH 1, $
TYPE=DATA, COLUMN=N1, BUCKET=x-axis, $
TYPE=DATA, COLUMN=N2, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N3, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N4, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N5, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N6, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N7, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N8, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N9, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N10, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N11, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N12, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N13, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N14, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N15, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N16, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N17, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N18, BUCKET=y-axis, $
TYPE=DATA, COLUMN=N19, BUCKET=y-axis, $
*GRAPH_SCRIPT
setReportParsingErrors(false);
setSelectionEnableMove(false);
setDisplay(getLegendArea(),false);
setScaleMinAuto(getY1Axis(),false);
setScaleMaxAuto(getY1Axis(),false);
setScaleMax(getY1Axis(),1000.0);
setGridStepAuto(getY1MajorGrid(),false);
setGridStep(getY1MajorGrid(),100.0);
setLabelStagger(getY1Label(),true);
setFontName(getDataText(),"ARIAL");
setFontSizeAbsolute(getDataText(),true);
setAutofit(getDataText(),false);
setPlaceResize(getDataText(),0);
setDisplay(getDataText(),true);
setDataTextDisplay(true);
setPieFeelerTextDisplay(1);
setFontSizeInPoints(getDataText(),10);
setDisplay(getO1Label(),false);

setDataTextPosition(1);
setDisplay(getY1MajorGrid(),false);

*GRAPH_JS_FINAL
"blaProperties": {
    "orientation": "horizontal"
},
"agnosticSettings": {
    "chartTypeFullName": "Bar_Clustered_Horizontal"
}
*END
ENDSTYLE
END
-RUN



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
October 31, 2017, 11:41 AM
Doug
Thanks Martin,

1): Didn't work.

2)
quote:
I don't understand what you're looking for. Which field name ? Are you talking about data value ?

I want names, or titles, of the computed fields to be displayed to the left of the bars such as 'ITEM01'. But not the 'dummy' fields. Their titles would be ''.
In reality, I'd use
COMPUTE ITEM01/I4 = 975 ; AS 'Item 01' and that's what I want to see


3) The DUMMY field did work and I'll use it for now. But, I recall something like "barGroupGapWidth: #.#", where #.# are numbers, in the blaProperties, but I can't get that to work.
October 31, 2017, 12:11 PM
MartinY
quote:

1): Didn't work

But it does in my sample... We're you looking to "remove" the blank lines that appearing in several places in the bar or I may have misunderstood your need on that point ? What do you expect with : Thicken up these bars so that they fill in the vertical space ?

quote:
I want names, or titles, of the computed fields to be displayed to the left of the bars such as 'ITEM01'

Never been able to display the field's title in a graph except in the popup when you over the bar or as in the legend.
If you add this, is it what you're looking for ?
-*setDisplay(getLegendArea(),false);
setLegendPosition(3);


I think that some of your issue a related of the use of the BUCKET feature where in this case some other features do not work such as the legend.
But having the DUMMY field also display unwanted legends.
ENGINE INT CACHE SET ON
-DEFAULTH &WF_STYLE_UNITS='PIXELS';
-DEFAULTH &WF_STYLE_HEIGHT='405.0';
-DEFAULTH &WF_STYLE_WIDTH='770.0';
-DEFAULTH &WF_TITLE='WebFOCUS Report';
DEFINE FILE CAR
DUMMY /I1 MISSING ON = MISSING;
END
GRAPH FILE CAR
SUM COMPUTE ITEM01/I4 = 975 ; AS 'Item 01'
-*    DUMMY AS ''
    COMPUTE ITEM02/I4 = 960 ; AS 'Item 02'
-*    DUMMY AS ''
    COMPUTE ITEM03/I4 = 918 ; AS 'Item 03'
-*    DUMMY AS ''
    COMPUTE ITEM04/I4 = 450 ; AS 'Item 04'
-*    DUMMY AS ''
    COMPUTE ITEM05/I4 = 897 ; AS 'Item 05'
-*    DUMMY AS ''
    COMPUTE ITEM06/I4 = 892 ; AS 'Item 06'
-*    DUMMY AS ''
    COMPUTE ITEM07/I4 =  13 ; AS 'Item 07'
-*    DUMMY AS ''
    COMPUTE ITEM08/I4 =  36 ; AS 'Item 08'
-*    DUMMY AS ''
    COMPUTE ITEM09/I4 = 618 ; AS 'Item 09'
-*    DUMMY AS ''
    COMPUTE ITEM10/I4 = 245 ; AS 'Item 10'
BY CAR.ORIGIN.COUNTRY NOPRINT AS ''
WHERE RECORDLIMIT EQ 1;


ON GRAPH PCHOLD FORMAT JSCHART
ON GRAPH SET VZERO OFF
ON GRAPH SET HTMLENCODE ON
ON GRAPH SET GRAPHDEFAULT OFF
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 GRMERGE ADVANCED
ON GRAPH SET GRMULTIGRAPH 0
ON GRAPH SET GRLEGEND 0
ON GRAPH SET GRXAXIS 1
ON GRAPH SET LOOKGRAPH VBAR
ON GRAPH SET STYLE *
*GRAPH_SCRIPT
setPieDepth(0);
setPieTilt(0);
setDepthRadius(0);
setCurveFitEquationDisplay(false);
setPlace(true);
*END
INCLUDE=IBFS:/FILE/IBI_HTML_DIR/javaassist/intl/EN/ENIADefault_combine.sty,$
TYPE=REPORT, TITLETEXT=&WF_TITLE.QUOTEDSTRING, $
*GRAPH_SCRIPT
setUseSeriesShapes(true);
setMarkerSizeDefault(50);
setUseSeriesShapes(true);
setMarkerSizeDefault(50);
setReportParsingErrors(false);
setSelectionEnableMove(false);
setSeriesType(0,0);
setLegendPosition(3);

setFillColor(getFrame(),new Color(255,255,255));
setReportParsingErrors(false);
setSelectionEnableMove(false);
-*setDisplay(getLegendArea(),false);
setScaleMinAuto(getY1Axis(),false);
setScaleMaxAuto(getY1Axis(),false);
setScaleMax(getY1Axis(),1000.0);
setGridStepAuto(getY1MajorGrid(),false);
setGridStep(getY1MajorGrid(),100.0);
setLabelStagger(getY1Label(),true);
setFontName(getDataText(),"ARIAL");
setFontSizeAbsolute(getDataText(),true);
setAutofit(getDataText(),false);
setPlaceResize(getDataText(),0);
setDisplay(getDataText(),true);
setDataTextDisplay(true);
setPieFeelerTextDisplay(1);
setFontSizeInPoints(getDataText(),10);
setDisplay(getO1Label(),false);

setDataTextPosition(1);
setDisplay(getY1MajorGrid(),false);

*GRAPH_JS_FINAL
"blaProperties": {
    "orientation": "horizontal"
},
"agnosticSettings": {
    "chartTypeFullName": "Bar_Clustered_Horizontal"
}

*END
ENDSTYLE
END
-RUN


quote:

But, I recall something like "barGroupGapWidth: #.#", where #.# are numbers, in the blaProperties, but I can't get that to work.

Can you share your latest code ?


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
October 31, 2017, 12:27 PM
Doug
Thanks Again... I'm checking out your latest suggestions... I'll repost my latest code then.
November 01, 2017, 06:39 PM
Doug
This method is "Old School"... So, I decided to "Get With It!" and use the GUI... App Studio all the way and I got better results... no surprise there, right?

So, with that in mind, Remember that We Can Do That In WebFOCUS ~~~ GUI!




   In FOCUS Since 1983 ~ from FOCUS to WebFOCUS.
   Current: WebFOCUS Administrator at FIS Worldpay | 8204, 8206