|
Go
![]() |
New
![]() |
Search
![]() |
Notify
![]() |
Tools
![]() |
Reply
![]() |
|
|
Gold member |
All:
I've searched for an answer but can't seem to find one... We have a combination bar & line graph with "month - year" on the x-axis. We'd like to be able to color the bars different based on the year in the x-axis label string. Can this be done? Shane Prod - WF 7.6.4 on Windows 2003 Server via IXA on iSeries Dev - WF 7.6.5 on Windows 2003 Server via IXA on iSeries |
||
|
|
Master |
Hey Shane,
Check out the 3rd response from Francis: Here Also, you can dynamically change colors with Dialogue Manager: -SET &SC0 = IF &VAL1 EQ 'WHATEVER' THEN '109,186,127' ELSE 'XXX,XXX,XXX'; -SET &SC1 = '158,144,188'; -SET &SC2 = '100,0,81'; -SET &SC3 = '240,159,97'; -SET &SC4 = '206,0,54'; -* SET THE COLORS OF THE SERIES setFillColor(getSeries(0),new Color(&SC0)); setFillColor(getSeries(1),new Color(&SC1)); setFillColor(getSeries(2),new Color(&SC2)); setFillColor(getSeries(3),new Color(&SC3)); setFillColor(getSeries(4),new Color(&SC4)); -* I "think" that's what you are looking to do... Tom This message has been edited. Last edited by: Tom Flynn, Tom Flynn WebFOCUS 5.2.2 thru 7.6.x Windows, Unix, MVS |
|||
|
|
Gold member |
Well, maybe this will help explain it a little better. In addition to the x-axis displaying "month-year", it also doensn't go in chronological order. Here's an example of how the x-axis would look like:
10-2005 10-2006 10-2007 11-2005 11-2006 11-2007 12-2005 12-2006 12-2007 1-2006 1-2007 1-2008... Shane Prod - WF 7.6.4 on Windows 2003 Server via IXA on iSeries Dev - WF 7.6.5 on Windows 2003 Server via IXA on iSeries |
|||
|
|
Virtuoso |
I have posted a technique that allows you to present the series in the order that you want. Search on graph or my name.
Ginny --------------------------------- Prod: WF 7.6.5 with 7.6.5 WFRS; AIX 5.2; WebSphere 6.1.0.15 Dev: WF 7.6.5 with 7.6.5 WFRS; AIX 5.2; WebSphere 6.1.0.15 Primarily self-service; adapters: Teradata, DB2, Oracle, SQL Server, Essbase, ESRI, FlexEnable |
|||
|
|
Gold member |
Ginny,
I've got it in the order that I want...I just can't get each bar of the graph in the color that I want... RED BLUE ORANGE RED BLUE ORANGE RED BLUE ORANGE BLUE ORANGE SILVER 10-2005 10-2006 10-2007 11-2005 11-2006 11-2007 12-2005 12-2006 12-2007 1-2006 1-2007 1-2008 Shane Prod - WF 7.6.4 on Windows 2003 Server via IXA on iSeries Dev - WF 7.6.5 on Windows 2003 Server via IXA on iSeries |
|||
|
|
Master |
Shane,
This works: -SET &B0= ''; -SET &B1= ''; -SET &B2= ''; -SET &B3= ''; -SET &B4= ''; -SET &B5= ''; -SET &B6= ''; -SET &B7= ''; -SET &B8= ''; -SET &B9= ''; -SET &B10=''; -SET &B11=''; -SET &O0= ''; -SET &O1= ''; -SET &O2= ''; -SET &O3= ''; -SET &O4= ''; -SET &O5= ''; -SET &O6= ''; -SET &O7= ''; -SET &O8= ''; -SET &O9= ''; -SET &O10=''; -SET &O11=''; -SET &R0= ''; -SET &R1= ''; -SET &R2= ''; -SET &R3= ''; -SET &R4= ''; -SET &R5= ''; -SET &R6= ''; -SET &R7= ''; -SET &R8= ''; -SET &R9= ''; -SET &R10=''; -SET &R11=''; DEFINE FILE GGSALES DTE1/A8 = EDIT(DATE); DTE2/A7 = EDIT(DTE1,'$$$$99-') || EDIT(DTE1,'9999'); DOLS/P13.2M= DOLLARS; YEAR/YY = DATE; END TABLE FILE GGSALES BY YEAR ON TABLE SAVE END -RUN -SET &XLINES = &LINES; -SET &ECHO=ALL; -DO_COLORS -SET &PASS=0; -SET_COLORS -SET &XCOL = DECODE &PASS (0 'B' 1 'O' ELSE 'R'); -SET &CNTR = 0; -REPEAT X_COLORS 12 TIMES -SET &COLOR = DECODE &PASS (0 '0,0,255' 1 '255,165,0' ELSE '255,0,0'); -SET &XCOL = IF &PASS EQ 0 THEN 'B' | &CNTR ELSE - IF &PASS EQ 1 THEN 'O' | &CNTR ELSE 'R' | &CNTR; -SET &XCOL.EVAL = &COLOR; -SET &CNTR = &CNTR + 1; -X_COLORS -SET &PASS = &PASS + 1; -IF &PASS GT &XLINES-1 GOTO GOT_EM; -GOTO SET_COLORS -GOT_EM GRAPH FILE GGSALES SUM DOLS ACROSS DTE2 ON GRAPH SET LOOKGRAPH VBAR ON GRAPH SET GRAPHEDIT SERVER ON GRAPH SET BARNUMB OFF ON GRAPH SET 3D OFF ON GRAPH SET VZERO ON ON GRAPH SET GRID ON ON GRAPH SET GRMERGE ON ON GRAPH PCHOLD FORMAT PNG ON GRAPH SET GRAPHSTYLE * -IF &XLINES EQ 2 GOTO DO_TWO; -IF &XLINES EQ 3 GOTO DO_THREE; -DO_TWO setFillColor(getSeries(0),new Color(&B0.EVAL)); setFillColor(getSeries(1),new Color(&O0.EVAL)); setFillColor(getSeries(2),new Color(&B1.EVAL)); setFillColor(getSeries(3),new Color(&O1.EVAL)); setFillColor(getSeries(4),new Color(&B2.EVAL)); setFillColor(getSeries(5),new Color(&O2.EVAL)); setFillColor(getSeries(6), new Color(&B3.EVAL)); setFillColor(getSeries(7),new Color(&O3.EVAL)); setFillColor(getSeries(8),new Color(&B4.EVAL)); setFillColor(getSeries(9),new Color(&O4.EVAL)); setFillColor(getSeries(10),new Color(&B5.EVAL)); setFillColor(getSeries(11),new Color(&O5.EVAL)); setFillColor(getSeries(12),new Color(&B6.EVAL)); setFillColor(getSeries(13),new Color(&O6.EVAL)); setFillColor(getSeries(14),new Color(&B7.EVAL)); setFillColor(getSeries(15),new Color(&O7.EVAL)); setFillColor(getSeries(16),new Color(&B8.EVAL)); setFillColor(getSeries(17),new Color(&O8.EVAL)); setFillColor(getSeries(18),new Color(&B9.EVAL)); setFillColor(getSeries(19),new Color(&O9.EVAL)); setFillColor(getSeries(20),new Color(&B10.EVAL)); setFillColor(getSeries(21),new Color(&O10.EVAL)); setFillColor(getSeries(22),new Color(&B11.EVAL)); setFillColor(getSeries(23),new Color(&O11.EVAL)); -GOTO DO_THE_REST -DO_THREE setFillColor(getSeries(0),new Color(&B0.EVAL)); setFillColor(getSeries(1),new Color(&O0.EVAL)); setFillColor(getSeries(2),new Color(&R0.EVAL)); setFillColor(getSeries(3),new Color(&B1.EVAL)); setFillColor(getSeries(4),new Color(&O1.EVAL)); setFillColor(getSeries(5),new Color(&R1.EVAL)); setFillColor(getSeries(6),new Color(&B2.EVAL)); setFillColor(getSeries(7),new Color(&O2.EVAL)); setFillColor(getSeries(8),new Color(&R2.EVAL)); setFillColor(getSeries(9), new Color(&B3.EVAL)); setFillColor(getSeries(10),new Color(&O3.EVAL)); setFillColor(getSeries(11),new Color(&R3.EVAL)); setFillColor(getSeries(12),new Color(&B4.EVAL)); setFillColor(getSeries(13),new Color(&O4.EVAL)); setFillColor(getSeries(14),new Color(&R4.EVAL)); setFillColor(getSeries(12),new Color(&B5.EVAL)); setFillColor(getSeries(13),new Color(&O5.EVAL)); setFillColor(getSeries(14),new Color(&R5.EVAL)); setFillColor(getSeries(15),new Color(&B6.EVAL)); setFillColor(getSeries(16),new Color(&O6.EVAL)); setFillColor(getSeries(17),new Color(&R6.EVAL)); setFillColor(getSeries(18),new Color(&B7.EVAL)); setFillColor(getSeries(19),new Color(&O7.EVAL)); setFillColor(getSeries(20),new Color(&R7.EVAL)); setFillColor(getSeries(21),new Color(&B8.EVAL)); setFillColor(getSeries(22),new Color(&O8.EVAL)); setFillColor(getSeries(23),new Color(&R8.EVAL)); setFillColor(getSeries(24),new Color(&B9.EVAL)); setFillColor(getSeries(25),new Color(&O9.EVAL)); setFillColor(getSeries(26),new Color(&R9.EVAL)); setFillColor(getSeries(27),new Color(&B10.EVAL)); setFillColor(getSeries(28),new Color(&O10.EVAL)); setFillColor(getSeries(29),new Color(&R10.EVAL)); setFillColor(getSeries(30),new Color(&B11.EVAL)); setFillColor(getSeries(31),new Color(&O11.EVAL)); setFillColor(getSeries(32),new Color(&R11.EVAL)); -DO_THE_REST setMarkerDisplay(true); setConnectLineMarkers(false); setConnectScatterMarkers(false); setO1LabelDisplay(true); setO1AxisSide(0); setO1MajorGridDisplay(true); setO1MajorGridStyle(0); setO1MinorGridDisplay(false); setY1LabelDisplay(true); setY1AxisSide(0); setY1MajorGridDisplay(true); setY1MajorGridStyle(0); setY1MinorGridDisplay(false); setTextFormatPreset(getY1Label(), -1); setTextFormatPattern(getY1Label(),"#.##"); setPieFeelerTextDisplay(1); setPieLabelDisplay(0); setTextFormatPreset(getPieSliceLabel(),1); setRiserBorderMode(1); setSeriesDefaultTransparentBorderColor(true); setUseSeriesBorderDefaults(true); setLegendDisplay(false); setFontSizeAbsolute(getY1Title(),true); setFontSizeAbsolute(getY1Label(),true); setFontSizeAbsolute(getY2Title(),true); setFontSizeAbsolute(getY2Label(),true); setFontSizeAbsolute(getO1Title(),true); setPlace(true); ENDSTYLE END -RUN -EXIT Didn't look for Ginny's, it's probably more efficient... Hope this helps... Tom Tom Flynn WebFOCUS 5.2.2 thru 7.6.x Windows, Unix, MVS |
|||
|
|
Gold member |
Tom,
Thanks for the help...we've got a VBAR2AX graph and it always plots the bar (y1) blue and the line (y2) orange...any ideas on that? Shane Prod - WF 7.6.4 on Windows 2003 Server via IXA on iSeries Dev - WF 7.6.5 on Windows 2003 Server via IXA on iSeries |
|||
|
|
Master |
Hey Shane,
Each BAR, LINE is a series(##), so, if you are plotting 3 years * 12 months, that is 12 sets of 3; with VBAR2AX, adding VLINE, then 12 sets of 4, so, with a little modification to my previous post, should get you there. Tom Edit: If you are talking about the labels, try these: setFillColor(getY2Label(),new Color(178 ,34 ,34)); setFillColor(getY1Label(),new Color(0, 0 ,255)); setReferenceLine(getY1Axis(), 0, 0.01); setLineBasicStrokeType(getReferenceLine(getY1Axis(),0), 5); This message has been edited. Last edited by: Tom Flynn, Tom Flynn WebFOCUS 5.2.2 thru 7.6.x Windows, Unix, MVS |
|||
|
|
Gold member |
All:
Got it to work using the following code and style additions:
TABLE FILE KOITO_PRODUCTIVITY
SUM MIN.DATE_GROUP AS 'MIN_DATE_GROUP'
BY MONTH
SUM COMPUTE COST_PER_EARNED_HR/D12.2!D = EXPENSE / EARNED_HOURS;
COMPUTE IO_RATIO/D12.2 = KRONOS_HOURS / EARNED_HOURS;
BY MONTH
BY DATE_GROUP
BY DATE_DISP
WHERE MONTH NE 13;
WHERE ( ( DATE_GROUP GE '&START_MONTH' ) AND ( DATE_GROUP LE '&END_MONTH' ) )
&WHERE_DATE2.EVAL OR (( DATE_GROUP GE '&START_MONTH2' ) AND ( DATE_GROUP LE '&END_MONTH2' ))
&WHERE_DATE3.EVAL OR (( DATE_GROUP GE '&START_MONTH3' ) AND ( DATE_GROUP LE '&END_MONTH3' ))
;
WHERE ( DEPT_SUB_TYPE EQ '&PROCESS' );
&WHERECLAUSE;
ON TABLE HOLD AS CPEEHOLD
-*ON TABLE PCHOLD FORMAT HTML
END
-* NEW
DEFINE FILE CPEEHOLD
AYEAR/A4 = EDIT(DATE_GROUP,'9999');
END
TABLE FILE CPEEHOLD
BY AYEAR
ON TABLE SAVE AS CPEESAVE
-*ON TABLE PCHOLD FORMAT HTML
END
-RUN
-SET &YR2 = '';
-SET &YR3 = '';
-SET &YR4 = '';
-SET &YEARS=&LINES;
-REPEAT #GLABELS FOR &I FROM 1 TO &YEARS;
-READ CPEESAVE &YR.A4.
-SET &YR.&I=&YR;
-#GLABELS
-RUN
and for the style: TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='BLUE',WHEN=DATE_DISP EQ '01-&YR1',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='BLUE',WHEN=DATE_DISP EQ '02-&YR1',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='BLUE',WHEN=DATE_DISP EQ '03-&YR1',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='BLUE',WHEN=DATE_DISP EQ '04-&YR1',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='BLUE',WHEN=DATE_DISP EQ '05-&YR1',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='BLUE',WHEN=DATE_DISP EQ '06-&YR1',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='BLUE',WHEN=DATE_DISP EQ '07-&YR1',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='BLUE',WHEN=DATE_DISP EQ '08-&YR1',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='BLUE',WHEN=DATE_DISP EQ '09-&YR1',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='BLUE',WHEN=DATE_DISP EQ '10-&YR1',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='BLUE',WHEN=DATE_DISP EQ '11-&YR1',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='BLUE',WHEN=DATE_DISP EQ '12-&YR1',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='BLUE',WHEN=DATE_DISP EQ '12-2005',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='GREEN',WHEN=DATE_DISP EQ '01-&YR2',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='GREEN',WHEN=DATE_DISP EQ '02-&YR2',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='GREEN',WHEN=DATE_DISP EQ '03-&YR2',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='GREEN',WHEN=DATE_DISP EQ '04-&YR2',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='GREEN',WHEN=DATE_DISP EQ '05-&YR2',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='GREEN',WHEN=DATE_DISP EQ '06-&YR2',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='GREEN',WHEN=DATE_DISP EQ '07-&YR2',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='GREEN',WHEN=DATE_DISP EQ '08-&YR2',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='GREEN',WHEN=DATE_DISP EQ '09-&YR2',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='GREEN',WHEN=DATE_DISP EQ '10-&YR2',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='GREEN',WHEN=DATE_DISP EQ '11-&YR2',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='GREEN',WHEN=DATE_DISP EQ '12-&YR2',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='RED',WHEN=DATE_DISP EQ '01-&YR3',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='RED',WHEN=DATE_DISP EQ '02-&YR3',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='RED',WHEN=DATE_DISP EQ '03-&YR3',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='RED',WHEN=DATE_DISP EQ '04-&YR3',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='RED',WHEN=DATE_DISP EQ '05-&YR3',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='RED',WHEN=DATE_DISP EQ '06-&YR3',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='RED',WHEN=DATE_DISP EQ '07-&YR3',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='RED',WHEN=DATE_DISP EQ '08-&YR3',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='RED',WHEN=DATE_DISP EQ '09-&YR3',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='RED',WHEN=DATE_DISP EQ '10-&YR3',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='RED',WHEN=DATE_DISP EQ '11-&YR3',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='RED',WHEN=DATE_DISP EQ '12-&YR3',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='YELLOW',WHEN=DATE_DISP EQ '01-&YR4',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='YELLOW',WHEN=DATE_DISP EQ '02-&YR4',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='YELLOW',WHEN=DATE_DISP EQ '03-&YR4',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='YELLOW',WHEN=DATE_DISP EQ '04-&YR4',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='YELLOW',WHEN=DATE_DISP EQ '05-&YR4',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='YELLOW',WHEN=DATE_DISP EQ '06-&YR4',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='YELLOW',WHEN=DATE_DISP EQ '07-&YR4',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='YELLOW',WHEN=DATE_DISP EQ '08-&YR4',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='YELLOW',WHEN=DATE_DISP EQ '09-&YR4',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='YELLOW',WHEN=DATE_DISP EQ '10-&YR4',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='YELLOW',WHEN=DATE_DISP EQ '11-&YR4',$ TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='YELLOW',WHEN=DATE_DISP EQ '12-&YR4',$ Shane Prod - WF 7.6.4 on Windows 2003 Server via IXA on iSeries Dev - WF 7.6.5 on Windows 2003 Server via IXA on iSeries |
|||
|
|
Master |
Shane,
EXCELLENT!!! Many ways to climb the WF mountain.. FYI: Need to remove this line: TYPE=DATA,COLUMN='COST_PER_EARNED_HR',COLOR='BLUE',WHEN=DATE_DISP EQ '12-2005',$ Tom Tom Flynn WebFOCUS 5.2.2 thru 7.6.x Windows, Unix, MVS |
|||
|
|
Guru |
Yes, indeedy. Here's one that's a bit shorter, and I didn't take the time to add the dialog manager to make the years dynamic. It would need some tweaking for the overall layout. I was just concentrating on the grouping. DEFINE FILE GGSALES DTE1/A8 = EDIT(DATE); DTE2/A7 = EDIT(DTE1,'$$$$99-') || EDIT(DTE1,'9999'); DOLS/P13.2M = DOLLARS; YR/YY = DATE; END GRAPH FILE GGSALES SUM DOLS BY YR ACROSS DTE2 AS '' WHERE YR EQ '1996' OR '1997'; ON GRAPH PCHOLD AS HOLD FORMAT PNG ON GRAPH SET GRAPHDEFAULT OFF ON GRAPH SET GRMERGE ON ON GRAPH SET 3D OFF ON GRAPH SET VZERO ON ON GRAPH SET UNITS PIXELS ON GRAPH SET LOOKGRAPH VBAR ON GRAPH SET GRID ON ON GRAPH SET STYLE * TYPE=DATA, COLOR=BLUE, WHEN=YR EQ 1996,$ TYPE=DATA, COLOR=GREEN, WHEN=YR EQ 1997,$ ENDSTYLE ON GRAPH SET GRAPHSTYLE * setLegendDisplay(false); setMarkerDisplay(true); setConnectLineMarkers(false); setConnectScatterMarkers(false); setO1LabelDisplay(true); setO1AxisSide(0); setO1MajorGridDisplay(true); setO1MajorGridStyle(0); setO1MinorGridDisplay(false); setY1LabelDisplay(true); setY1AxisSide(0); setY1MajorGridDisplay(true); setY1MajorGridStyle(0); setY1MinorGridDisplay(false); setTextFormatPreset(getY1Label(), -1); setTextFormatPattern(getY1Label(),"#.##"); setPieFeelerTextDisplay(1); setPieLabelDisplay(0); setTextFormatPreset(getPieSliceLabel(),1); setRiserBorderMode(1); setSeriesDefaultTransparentBorderColor(true); setUseSeriesBorderDefaults(true); setLegendDisplay(false); setFontSizeAbsolute(getY1Title(),true); setFontSizeAbsolute(getY1Label(),true); setFontSizeAbsolute(getY2Title(),true); setFontSizeAbsolute(getY2Label(),true); setFontSizeAbsolute(getO1Title(),true); setPlace(true); ENDSTYLE END ttfn, kp Access to most releases from R52x, on multiple platforms. |
|||
|
| Previous Topic | Next Topic | powered by eve community |
| Please Wait. Your request is being processed... |
|

