cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
The Discovery Summit 2025 Call for Content is open! Submit an abstract today to present at our premier analytics conference.
%3CLINGO-SUB%20id%3D%22lingo-sub-787897%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Einteractive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-787897%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EDoes%20anyone%20have%20any%20ideas%20on%20how%20to%20create%20interactive%20reports%3F%3C%2FP%3E%3CP%3EIn%20the%20report%2C%20I%20want%20to%20include%20graphs%20with%20multiple%20lines%20in%20each%20graph.%20On%20the%20left%20side%20of%20the%20window%2C%20I%20would%20like%20to%20have%20a%20list%20of%20the%20lines.%20When%20I%20click%20on%20a%20line%20from%20the%20list%2C%20I%20want%20the%20selected%20line%20in%20the%20graph%20to%20be%20more%20prominent%2C%20while%20the%20remaining%20lines%20are%20faded%20out.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-787897%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EData%20Exploration%20and%20Visualization%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-787921%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20interactive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-787921%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHaving%20legend%20on%20the%20left%20side%20can%20be%20a%20bit%20tricky%20but%20if%20right%20side%20is%20fine%2C%20basic%20graph%20builder%20should%20be%20enough%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20392px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20392px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20392px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20392px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20392px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20392px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20392px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20392px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20392px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20392px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20392px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20392px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20392px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20392px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20392px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20392px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20392px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20392px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1724840120932.png%22%20style%3D%22width%3A%20392px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F67603iAA94CDFE485D7CAA%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22jthi_0-1724840120932.png%22%20alt%3D%22jthi_0-1724840120932.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fwww.jmp.com%2Fsupport%2Fhelp%2Fen%2F18.0%2F%23page%2Fjmp%2Fgraph-builder.shtml%23%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.jmp.com%2Fsupport%2Fhelp%2Fen%2F18.0%2F%23page%2Fjmp%2Fgraph-builder.shtml%23%3C%2FA%3E%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-788179%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20interactive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-788179%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%3EHello!%20I%20have%20used%20a%20for%20loop%20to%20create%20multiple%20graphs%20using%20the%20graph%20builder.%20Now%2C%20I%20would%20like%20to%20group%20all%20these%20graphs%20onto%20a%20single%20sheet%20and%20create%20an%20interactive%20interface%20for%20users%20to%20interact%20with%20all%20the%20graphs%20together.%20Is%20there%20a%20way%20to%20achieve%20this%3F%20Thank%20you!%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-788180%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20interactive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-788180%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EIts%20nice%20idea%20to%20use%20just%20the%20basic%20graph%20builder%20%2C%20i%20just%20want%20to%20put%20them%20all%20together%20one%20under%20the%20other%20after%20i%20create%20all%20of%20them.%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-788210%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20interactive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-788210%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20bit%20more%20information%20is%20needed.%20You%20could%20for%20example%20collect%20them%20into%20V%20List%20Box%20and%20then%20display%20using%20New%20Window%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(1)%3B%20%0A%0Adt%20%3D%20open(%22%24SAMPLE_DATA%2FBig%20Class.jmp%22)%3B%0A%0Agb_collector%20%3D%20V%20List%20Box()%3B%0A%0AFor(i%20%3D%201%2C%20i%20%26lt%3B%3D%203%2C%20i%2B%2B%2C%0A%09gb_collector%20%26lt%3B%26lt%3B%20Append(%0A%09%09dt%20%26lt%3B%26lt%3B%20Graph%20Builder(%0A%09%09%09Variables(X(%3Aweight)%2C%20Y(%3Aheight)%2C%20Overlay(%3Asex))%2C%0A%09%09%09Elements(Points(X%2C%20Y%2C%20Legend(9))%2C%20Line%20Of%20Fit(X%2C%20Y%2C%20Legend(11)))%0A%09%09)%09%09%0A%09)%0A)%3B%0A%0Anw%20%3D%20New%20Window(%22%22%2C%0A%09gb_collector%0A)%3B%0A%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3EIf%20you%20are%20utilizing%20For%20loop%20I%20assume%20you%20are%20doing%20scripting.%20Have%20you%20read%20Scripting%20Guide%20(for%20example%20%3CA%20href%3D%22https%3A%2F%2Fwww.jmp.com%2Fsupport%2Fhelp%2Fen%2F18.0%2F%23page%2Fjmp%2Fexamples-of-creating-a-dashboard-from-two-reports.shtml%23%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.jmp.com%2Fsupport%2Fhelp%2Fen%2F18.0%2F%23page%2Fjmp%2Fexamples-of-creating-a-dashboard-from-two-reports.shtml%23%3C%2FA%3E%20).%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-795582%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20interactive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-795582%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20would%20like%20to%20combine%20the%20tab%20page%20box%20method%20with%20the%20for%20loop%2C%20but%20it%20doesn't%20work.%26nbsp%3B%3CBR%20%2F%3EHere%20is%20my%20part%20of%20the%20script%3A%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ENew%20Window(%22My%20Dashboard%22%2C%3CBR%20%2F%3EH%20Splitter%20Box(%3CBR%20%2F%3ESize(1000%2C%201000)%2C%3CBR%20%2F%3E%2F%2F%20Loop%20for%20each%20parameter%3CBR%20%2F%3EFor(i%20%3D%201%2C%20i%20%26lt%3B%3D%20N%20Items(numPar)%2C%20i%2B%2B%2C%3CBR%20%2F%3E%2F%2F%20Column%20boxes%20for%20plots%20of%20all%20batches%2C%20actual%20data%2C%20and%20difference%3CBR%20%2F%3Ecol1%20%3D%20Col%20Box(%22%22)%2C%3CBR%20%2F%3Ecol2%20%3D%20Col%20Box(%22%22)%2C%3CBR%20%2F%3Ecol3%20%3D%20Col%20Box(%22%22)%2C%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%2F%2F%20Tab%20Page%20Box%20for%20each%20parameter%3CBR%20%2F%3ETab%20Page%20Box(%3CBR%20%2F%3ETitle(numPar%5Bi%5D%20%7C%7C%20%22%20vs.%20Time%20Point%22)%2C%3CBR%20%2F%3E%2F%2F%20Create%20all%20batches%20plot%3CBR%20%2F%3Egb%20%3D%20Graph%20Builder(%3CBR%20%2F%3ESize(500%2C%20500)%2C%3CBR%20%2F%3EVariables(X(%3ATime%20Point%20Months)%2C%20Y(%3AResult)%2C%20Overlay(%3ABatch))%2C%3CBR%20%2F%3EElements(Points(X%2C%20Y))%3CBR%20%2F%3E)%2C%3CBR%20%2F%3E%2F%2F%20Local%20filter%3A%20set%20the%20batch%20to%20only%20the%20batches%20that%20are%20in%20cyc%20with%20a%20ref%2C%20not%20all%20other%20batches%3CBR%20%2F%3Egb%20%26lt%3B%26lt%3B%20Local%20Data%20Filter(%3CBR%20%2F%3Einvisible%2C%3CBR%20%2F%3EAdd%20Filter(columns(%3AComponent%2C%20%3ABatch%2C%20%3ASource%20Table)%2C%3CBR%20%2F%3EWhere(%3AComponent%20%3D%3D%20numPar%5Bi%5D)%2C%3CBR%20%2F%3EWhere(%3ABatch%20%3D%3D%20%7Bcyc%2C%20bat%7D)%2C%3CBR%20%2F%3EWhere(%3ASource%20Table%20%3D%3D%20dt_name)%3CBR%20%2F%3E)%3CBR%20%2F%3E)%2C%3CBR%20%2F%3Edt%20%26lt%3B%26lt%3B%20Clear%20Select()%2C%3CBR%20%2F%3E%2F%2F%20Remove%20the%20filter%20display%20from%20the%20graph%3CBR%20%2F%3Egb%20%26lt%3B%26lt%3B%20Show%20Control%20Panel(0)%2C%3CBR%20%2F%3E%2F%2F%20Report%20for%20changing%20plot%3CBR%20%2F%3Egbb%20%3D%20Report(gb)%5BGraphBuilderBox(1)%5D%2C%3CBR%20%2F%3E%2F%2F%20Add%20linear%20regression%3CBR%20%2F%3Egbb%20%26lt%3B%26lt%3B%20Add%20Element(1%2C%201%2C%20%7BType(%22Line%20Of%20Fit%22)%2C%20X%2C%20Y%2C%20Confidence%20of%20Fit(0)%2C%20Equation(0)%7D)%2C%3CBR%20%2F%3E%2F%2F%20Set%20Y%20axis%3CBR%20%2F%3Eminval%20%3D%20min(%3AResult%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%20%7C%20%3ABatch%20%3D%3D%20bat%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D)%20*%200.95%2C%3CBR%20%2F%3Emaxval%20%3D%20max(%3AResult%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%20%7C%20%3ABatch%20%3D%3D%20bat%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D)%20*%201.05%2C%3CBR%20%2F%3Emaxvalts%20%3D%20max(%3ATime%20Point%20Months%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%20%7C%20%3ABatch%20%3D%3D%20bat%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D)%20*%201.05%2C%3CBR%20%2F%3Egbb%5BAxisBox(1)%5D%20%26lt%3B%26lt%3B%20min(-0.1)%2C%3CBR%20%2F%3Egbb%5BAxisBox(1)%5D%20%26lt%3B%26lt%3B%20max(maxvalts)%2C%3CBR%20%2F%3Egbb%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20min(minval)%2C%3CBR%20%2F%3Egbb%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20max(maxval)%2C%3CBR%20%2F%3Egbb%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20inc((maxval%20-%20minval)%20%2F%2010)%2C%3CBR%20%2F%3E%2F%2F%20Set%20Y%20axis%20label%3CBR%20%2F%3EunitList%20%3D%20Associative%20Array(%3AResult%20Unit%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%20%7C%20%3ABatch%20%3D%3D%20bat%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D)%20%26lt%3B%26lt%3B%20Remove(%22%22)%20%26lt%3B%26lt%3B%20Get%20Keys%2C%3CBR%20%2F%3EIf(N%20Items(unitList)%20%3D%3D%201%2C%3CBR%20%2F%3Egbb%5BText%20Edit%20Box(4)%5D%20%26lt%3B%26lt%3B%20Set%20text(numPar%5Bi%5D%20%7C%7C%20%22%20%5B%22%20%7C%7C%20unitList%5B1%5D%20%7C%7C%20%22%5D%22)%3CBR%20%2F%3E%2C%3CBR%20%2F%3Egbb%5BText%20Edit%20Box(4)%5D%20%26lt%3B%26lt%3B%20Set%20text(numPar%5Bi%5D)%3CBR%20%2F%3E)%2C%3CBR%20%2F%3E%2F%2F%20Set%20graph%20title%3CBR%20%2F%3Egbb%5BText%20Edit%20Box(1)%5D%20%26lt%3B%26lt%3B%20Set%20text(numPar%5Bi%5D%20%7C%7C%20%22%20vs.%20Time%20Point%22)%2C%3CBR%20%2F%3E%2F%2F%20Append%3CBR%20%2F%3Egbba%20%3D%20Report(gb)%2C%3CBR%20%2F%3Ecol1%20%26lt%3B%26lt%3B%20Append(gbba)%2C%3CBR%20%2F%3E%26lt%3B%3CMOVEABLE%3E%3C%2FMOVEABLE%3E)%3CBR%20%2F%3E)%3CBR%20%2F%3E)%2C%3CBR%20%2F%3E%26lt%3B%3CDOCKABLE%3E%3C%2FDOCKABLE%3E)%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-795584%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20interactive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-795584%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(1)%3B%20%0A%0Adt%20%3D%20open(%22%24SAMPLE_DATA%2FBig%20Class.jmp%22)%3B%0A%0Agb_collector%20%3D%20Tab%20Box(%26lt%3B%26lt%3B%20Set%20Style(%22Horizontal%20Spread%22))%3B%0A%0AFor(i%20%3D%201%2C%20i%20%26lt%3B%3D%203%2C%20i%2B%2B%2C%0A%09gb_collector%20%26lt%3B%26lt%3B%20Add(%22Title%22%2C%0A%09%09dt%20%26lt%3B%26lt%3B%20Graph%20Builder(%0A%09%09%09Variables(X(%3Aweight)%2C%20Y(%3Aheight)%2C%20Overlay(%3Asex))%2C%0A%09%09%09Elements(Points(X%2C%20Y%2C%20Legend(9))%2C%20Line%20Of%20Fit(X%2C%20Y%2C%20Legend(11)))%0A%09%09)%09%09%0A%09)%0A)%3B%0A%0Anw%20%3D%20New%20Window(%22%22%2C%0A%09gb_collector%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-795586%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20interactive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-795586%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EWhat%20jmp%20version%20you%20have%3F%20Does%20it%20work%20in%20your%20jmp%3F%20Because%20I%20don't%20have%20the%20expected%20output%20using%20the%20above%20script%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-795588%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20interactive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-795588%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20don't%20know%20what%20is%20your%20expected%20output%20and%20I%20do%20not%20have%20your%20data.%20The%20script%20use%20Tab%20Box%20to%20collect%20results%20from%20for%20loop%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22jthi_0-1725533984930.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725533984930.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725533984930.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725533984930.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725533984930.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725533984930.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725533984930.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725533984930.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725533984930.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725533984930.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725533984930.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725533984930.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725533984930.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F67973i56695DB927F71A07%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22jthi_0-1725533984930.png%22%20alt%3D%22jthi_0-1725533984930.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-795589%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20interactive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-795589%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20have%20this%20output%20when%20i%20run%20the%20above%20script%20.%20Its%20not%20the%20same%20as%20you%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-795592%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20interactive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-795592%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThey%20seem%20to%20have%20changed%20it%20in%20JMP18.%20In%20JMP17.2%20this%20seemed%20to%20work%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(1)%3B%20%0A%0Adt%20%3D%20open(%22%24SAMPLE_DATA%2FBig%20Class.jmp%22)%3B%0A%0Agb_collector%20%3D%20Tab%20Box(%26lt%3B%26lt%3B%20Set%20Style(%22Horizontal%20Spread%22))%3B%0A%0AFor(i%20%3D%201%2C%20i%20%26lt%3B%3D%203%2C%20i%2B%2B%2C%0A%09tab%20%3D%20Tab%20Page%20Box(%22%22%2C%0A%09%09gb%20%3D%20dt%20%26lt%3B%26lt%3B%20Graph%20Builder(%0A%09%09%09Variables(X(%3Aweight)%2C%20Y(%3Aheight)%2C%20Overlay(%3Asex))%2C%0A%09%09%09Elements(Points(X%2C%20Y%2C%20Legend(9))%2C%20Line%20Of%20Fit(X%2C%20Y%2C%20Legend(11)))%0A%09%09)%0A%09)%3B%0A%09tab%20%26lt%3B%26lt%3B%20Title(%22Title%20%22%20%7C%7C%20Char(i))%3B%0A%09gb%20%26lt%3B%26lt%3B%20title(Char(i))%3B%0A%09gb_collector%20%26lt%3B%26lt%3B%20Append(tab)%0A)%3B%0A%0Anw%20%3D%20New%20Window(%22%22%2C%0A%09gb_collector%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-795628%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20interactive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-795628%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%3EAnother%20issue%20I%20would%20like%20to%20address%20is%20when%20I%20have%20a%20large%20number%20of%20tabs%20(e.g.%2C%2020)%20with%20lengthy%20titles%2C%20the%20graphs%20become%20disproportionately%20large%2C%20making%20it%20difficult%20to%20observe%20them%20clearly.%20I%20would%20like%20to%20resize%20the%20graphs%20to%20a%20smaller%20scale%20while%20retaining%20the%20large%20titles%20and%20tabs.%20Is%20it%20possible%20to%20position%20the%20graph%20on%20the%20left%20with%20empty%20space%20to%20the%20right%3F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-795630%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20interactive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-795630%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI'm%20not%20sure%20what%20you%20mean%20by%20%22graph%20on%20the%20left%20with%20empty%20space%20to%20the%20right%22.%20Create%20graph%20manually%2C%20resize%20it%20a%20bit%2C%20copy%20script%20and%20it%20will%20tell%20you%20how%20you%20can%20add%20size%20to%20the%20graph.%20Tab%20Box%20also%20has%20overflow%20and%20other%20options%20which%20you%20can%20find%20from%20scripting%20index%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22jthi_0-1725544166531.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725544166531.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725544166531.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725544166531.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725544166531.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725544166531.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725544166531.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725544166531.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1725544166531.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F67977i4B5EA2D3D4404F3E%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22jthi_0-1725544166531.png%22%20alt%3D%22jthi_0-1725544166531.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-796011%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20interactive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-796011%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%3EI%20am%20trying%20to%20figure%20out%20if%20there%20is%20any%20way%20to%20place%20the%20graphs%20like%20in%20this%20screenshot.%20For%20example%2C%20the%20first%20graph%20first%2C%20and%20then%20the%20other%20two%20together.%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-796144%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20interactive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-796144%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EYou%20can%20combine%20for%20example%20V%20List%20Box%2C%20H%20List%20Box%2C%20Tab%20Box%2C%20Tab%20Page%20Box%20in%20many%20different%20ways%20to%20get%20the%20layout%20you%20want.%3C%2FP%3E%0A%3CP%3EYou%20can%20find%20quite%20a%20lot%20of%20information%20from%20Scripting%20Guide%20%3CA%20href%3D%22https%3A%2F%2Fwww.jmp.com%2Fsupport%2Fhelp%2Fen%2F18.0%2F%23page%2Fjmp%2Fconstruct-display-boxes-for-new-windows.shtml%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.jmp.com%2Fsupport%2Fhelp%2Fen%2F18.0%2F%23page%2Fjmp%2Fconstruct-display-boxes-for-new-windows.shtml%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(1)%3B%20%0A%0Adt%20%3D%20open(%22%24SAMPLE_DATA%2FBig%20Class.jmp%22)%3B%0A%0Agb_expr%20%3D%20Expr(dt%20%26lt%3B%26lt%3B%20Graph%20Builder(%0A%09Show%20Control%20Panel(0)%2C%0A%09Variables(X(%3Aweight)%2C%20Y(%3Aheight)%2C%20Overlay(%3Asex))%2C%0A%09Elements(Points(X%2C%20Y%2C%20Legend(9))%2C%20Line%20Of%20Fit(X%2C%20Y%2C%20Legend(11)))%0A))%3B%0A%0Anw%20%3D%20New%20Window(%22%22%2C%0A%09V%20List%20Box(%0A%09%09gb_expr%2C%0A%09%09H%20List%20Box(%0A%09%09%09gb_expr%2C%0A%09%09%09gb_expr%0A%09%09)%0A%09)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-797405%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20interactive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-797405%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3ENames%20Default%20To%20Here(%201%20)%3B%3C%2FP%3E%3CP%3Edt%20%3D%20Open(%20%22%24SAMPLE_DATA%2FBig%20Class.jmp%22%20)%3B%3C%2FP%3E%3CP%3Egb_collector%20%3D%20Tab%20Box(%20%22Dashboard%22%20)%3B%3C%2FP%3E%3CP%3EFor(%20i%20%3D%201%2C%20i%20%26lt%3B%3D%2020%2C%20i%2B%2B%2C%3CBR%20%2F%3E%2F%2F%20Column%20box%20for%20plot%20of%20all%20batches%3CBR%20%2F%3Ecol1%20%3D%20Col%20Box(%20%22All%20Batches%22%20%7C%7C%20Char(%20i%20)%20)%3B%3C%2FP%3E%3CP%3E%2F%2F%20Create%20the%20first%20Graph%20Builder%20plot%3CBR%20%2F%3Egb%20%3D%20Expr(%3CBR%20%2F%3Edt%20%26lt%3B%26lt%3B%20Graph%20Builder(%3CBR%20%2F%3Einvisible%2C%3CBR%20%2F%3EVariables(%20X(%20%3Aweight%20)%2C%20Y(%20%3Aheight%20)%2C%20Overlay(%20%3Asex%20)%20)%2C%3CBR%20%2F%3EElements(%20Points(%20X%2C%20Y%2C%20Legend(%209%20)%20)%2C%20Line%20Of%20Fit(%20X%2C%20Y%2C%20Legend(%2011%20)%20)%20)%3CBR%20%2F%3E)%3CBR%20%2F%3E)%3B%3CBR%20%2F%3Ecol1%20%26lt%3B%26lt%3B%20Append(%20gb%20)%3B%3C%2FP%3E%3CP%3E%2F%2F%20Create%20a%20column%20box%20for%20the%20two%20Graph%20Builder%20plots%3CBR%20%2F%3Ecol2%20%3D%20Col%20Box(%20%22Actual%20Data%20%22%20%7C%7C%20Char(%20i%20)%20)%3B%3C%2FP%3E%3CP%3E%2F%2F%20Create%20and%20append%20two%20Graph%20Builder%20plots%20to%20col2%3CBR%20%2F%3EFor(%20j%20%3D%201%2C%20j%20%26lt%3B%3D%202%2C%20j%2B%2B%2C%3CBR%20%2F%3Egbb%20%3D%20Expr(%3CBR%20%2F%3Edt%20%26lt%3B%26lt%3B%20Graph%20Builder(%3CBR%20%2F%3Einvisible%2C%3CBR%20%2F%3EVariables(%20X(%20%3Aweight%20)%2C%20Y(%20%3Aheight%20)%2C%20Overlay(%20%3Asex%20)%20)%2C%3CBR%20%2F%3EElements(%20Points(%20X%2C%20Y%2C%20Legend(%209%20)%20)%2C%20Line%20Of%20Fit(%20X%2C%20Y%2C%20Legend(%2011%20)%20)%20)%3CBR%20%2F%3E)%3CBR%20%2F%3E)%3B%3CBR%20%2F%3Ecol2%20%26lt%3B%26lt%3B%20Append(%20gbb%20)%3B%3CBR%20%2F%3E)%3B%3C%2FP%3E%3CP%3E%2F%2F%20Create%20a%20tab%20for%20col1%20and%20col2%20and%20append%20it%20to%20gb_collector%3CBR%20%2F%3Etab%20%3D%20Tab%20Page%20Box(%20%22%20Something%20Something%20%22%2C%3CBR%20%2F%3EV%20List%20Box(%3CBR%20%2F%3Ecol1%2C%3CBR%20%2F%3EH%20List%20Box(%20col2%20)%20%2F%2F%20Placing%20the%20two%20plots%20next%20to%20each%20other%3CBR%20%2F%3E)%3CBR%20%2F%3E)%3B%3CBR%20%2F%3Egb_collector%20%26lt%3B%26lt%3B%20Append(%20tab%20)%3B%3C%2FP%3E%3CP%3E%2F%2F%20Set%20title%20for%20gb%3CBR%20%2F%3Egb%20%26lt%3B%26lt%3B%20title(%20%22dxfkgbdlk%2Cxfhglihxfd%22%20)%3B%3CBR%20%2F%3E)%3B%3C%2FP%3E%3CP%3Egb_collector%20%26lt%3B%26lt%3B%20Dockable(%201%20)%3B%3CBR%20%2F%3Egb_collector%20%26lt%3B%26lt%3B%20Set%20Overflow%20Enabled(%201%20)%3B%3C%2FP%3E%3CP%3Enw%20%3D%20New%20Window(%20%22Dashboard%22%2C%3CBR%20%2F%3Egb_collector%3CBR%20%2F%3E)%3B%3CBR%20%2F%3E%3CBR%20%2F%3ETrying%20to%20use%20the%20above%20example%20in%20my%20script%20.%20But%20i%20don't%20get%20any%20output.%20Here%20is%20my%20script%3A%26nbsp%3B%3C%2FP%3E%3CDIV%3ECurrent%20Data%20Table(dt)%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Edt%20%26lt%3B%26lt%3B%20New%20column(%22Time%20Point%20Months%22%2C%20Formula(Round(%3ATime%20Point%20Days%2F30.438)%2C%202))%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb_collector%20%3D%20Tab%20Box()%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EFor(i%20%3D%201%2C%20i%20%26lt%3B%3D%20N%20Items(numPar)%2C%20i%2B%2B%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Column%20box%20for%20plot%20of%20all%20batches%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Ecol1%20%3D%20Col%20Box(%20%22%22%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Column%20box%20for%20plot%20of%20actual%20data%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Ecol2%20%3D%20Col%20Box(%20%22%22%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Column%20box%20for%20plot%20of%20difference%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Ecol3%20%3D%20Col%20Box(%20%22%22%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Ftab%20%3D%20Tab%20Page%20Box(%22%22%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb%20%3D%20dt%20%26lt%3B%26lt%3B%20Graph%20Builder(%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Finvisible%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3ESize(700%2C%20400)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EVariables(X(%3ATime%20Point%20Months)%2C%20Y(%3AResult)%2C%20Overlay(%3ABatch))%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EElements(Points(X%2C%20Y))%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Local%20filter%3A%20set%20the%20batch%20to%20only%20the%20batches%20that%20are%20in%20cyc%20with%20a%20ref%2C%20not%20all%20other%20batches%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb%20%26lt%3B%26lt%3B%20Local%20Data%20Filter(%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Einvisible%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EAdd%20Filter(columns(%3AComponent%2C%20%3ABatch%2C%20%3ASource%20Table)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EWhere(%3AComponent%20%3D%3D%20numPar%5Bi%5D)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EWhere(%3ABatch%20%3D%3D%20%7Bcyc%2C%20bat%7D)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EWhere(%3ASource%20Table%20%3D%3D%20dt_name)%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Edt%20%26lt%3B%26lt%3B%20Clear%20Select()%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Remove%20the%20filter%20display%20from%20the%20graph%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb%20%26lt%3B%26lt%3B%20Show%20Control%20Panel(0)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Report%20for%20changing%20plot%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%20%3D%20Report(gb)%5BGraphBuilderBox(1)%5D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Add%20linear%20regression%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%20%26lt%3B%26lt%3B%20Add%20Element(1%2C%201%2C%20%7BType(%22Line%20Of%20Fit%22)%2C%20X%2C%20Y%2C%20Confidence%20of%20Fit(0)%2C%20Equation(0)%7D)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Set%20Y%20axis%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eminval%20%3D%20min(%3AResult%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%20%7C%20%3ABatch%20%3D%3D%20bat%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D)%20*%200.95%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Emaxval%20%3D%20max(%3AResult%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%20%7C%20%3ABatch%20%3D%3D%20bat%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D)%20*%201.05%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Emaxvalts%20%3D%20max(%3ATime%20Point%20Months%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%20%7C%20%3ABatch%20%3D%3D%20bat%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D)%20*%201.05%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(1)%5D%20%26lt%3B%26lt%3B%20min(-0.1)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(1)%5D%20%26lt%3B%26lt%3B%20max(maxvalts)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20min(minval)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20max(maxval)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20inc((maxval%20-%20minval)%20%2F%2010)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Set%20Y%20axis%20label%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EunitList%20%3D%20Associative%20Array(%3AResult%20Unit%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%20%7C%20%3ABatch%20%3D%3D%20bat%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D)%20%26lt%3B%26lt%3B%20Remove(%22%22)%20%26lt%3B%26lt%3B%20Get%20Keys%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EIf(N%20Items(unitList)%20%3D%3D%201%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BText%20Edit%20Box(4)%5D%20%26lt%3B%26lt%3B%20Set%20text(numPar%5Bi%5D%20%7C%7C%20%22%20%5B%22%20%7C%7C%20unitList%5B1%5D%20%7C%7C%20%22%5D%22)%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BText%20Edit%20Box(4)%5D%20%26lt%3B%26lt%3B%20Set%20text(numPar%5Bi%5D)%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Set%20graph%20title%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BText%20Edit%20Box(1)%5D%20%26lt%3B%26lt%3B%20Set%20text(numPar%5Bi%5D%20%7C%7C%20%22%20vs.%20Time%20Point%22)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Append%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Fgbba%20%3D%20Report(gb)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Ecol1%20%26lt%3B%26lt%3B%20Append(gb)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Ffilter%20%26lt%3B%26lt%3B%20close%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb%20%26lt%3B%26lt%3B%20close%20window%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Within%20the%20loop%20through%20parameters%20we%20are%20now%20also%20looping%20through%20batches%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EFor(k%20%3D%201%2C%20k%20%26lt%3B%3D%20N%20Items(%20cyc%20)%2C%20k%2B%2B%2C%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Echeck%20%3D%20dt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%20%7C%20%3ABatch%20%3D%3D%20bat%5Bk%5D%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%26nbsp%3B%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eif(N%20items(check)%20%26gt%3B%200%2C%20%2F%2F%20Create%20check%20to%20see%20if%20parameter%20exist%20for%20current%20batch%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Create%20base%20plot%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb%20%3D%20Graph%20Builder(%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Finvisible%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3ESize(%20700%2C%20400%20)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EVariables(%20X(%20%3ATime%20Point%20Months%20)%2C%20Y(%20%3AResult%20)%2C%20Overlay(%20%3ABatch%20)%20)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EElements(%20Points(%20X%2C%20Y)%2C%26nbsp%3B%20)%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb%20%26lt%3B%26lt%3B%20Local%20Data%20Filter(invisible%2C%20Add%20Filter(%20columns(%20%3AComponent%2C%20%3ABatch%2C%20%3ASource%20Table%20)%2C%20Where(%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%20)%2C%26nbsp%3B%20Where(%20%3ABatch%20%3D%3D%20%7Bcyc%5Bk%5D%2C%20bat%5Bk%5D%7D)%2C%20Where(%20%3ASource%20Table%20%3D%3D%20dt_name)%20))%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Edt%20%26lt%3B%26lt%3B%20Clear%20Select()%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Remove%20the%20filter%20display%20from%20the%20graph%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb%20%26lt%3B%26lt%3B%20Show%20Control%20Panel(%200%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Report%20for%20changing%20plot%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%20%3D%20Report(%20gb%20)%5BGraphBuilderBox(%201%20)%5D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Add%20liniear%20regression%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%20%26lt%3B%26lt%3B%20Add%20Element(%201%2C%201%2C%20%7BType(%20%22Line%20Of%20Fit%22%20)%2C%20X%2C%20Y%2C%20Confidence%20of%20Fit(%200%20)%2CEquation(%200%20)%7D%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Set%20Y%20axis%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eminval%20%3D%20min(%3AResult%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%20%7C%20%3ABatch%20%3D%3D%20bat%5Bk%5D%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%26nbsp%3B%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D)*0.95%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Emaxval%20%3D%20max(%3AResult%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%26nbsp%3B%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%7C%20%3ABatch%20%3D%3D%20bat%5Bk%5D%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%26nbsp%3B%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D)*1.05%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Emaxvalts%20%3D%20max(%3ATime%20Point%20Months%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%26nbsp%3B%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%7C%20%3ABatch%20%3D%3D%20bat%5Bk%5D%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%26nbsp%3B%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D)*1.05%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(1)%5D%20%26lt%3B%26lt%3B%20min(-0.1)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(1)%5D%20%26lt%3B%26lt%3B%20max(maxvalts)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20min(minval)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20max(maxval)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20inc((maxval-minval)%2F10)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Set%20Y%20axis%20label%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EunitList%20%3D%20Associative%20Array(%20%3AResult%20Unit%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%26nbsp%3B%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%20%7C%20%3ABatch%20%3D%3D%20bat%5Bk%5D%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%26nbsp%3B%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D%20)%20%26lt%3B%26lt%3B%20Remove(%20%22%22%20)%20%26lt%3B%26lt%3B%20Get%20Keys%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EIf(%20N%20Items(%20unitList%20)%20%3D%3D%201%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BText%20Edit%20Box(%204%20)%5D%20%26lt%3B%26lt%3B%20Set%20text(%20numPar%5Bi%5D%20%7C%7C%20%22%20%5B%22%20%7C%7C%20unitList%5B1%5D%20%7C%7C%20%22%5D%22%20)%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EIf(%20N%20Items(%20unitList%20)%20!%3D%201%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BText%20Edit%20Box(%204%20)%5D%20%26lt%3B%26lt%3B%20Set%20text(%20numPar%5Bi%5D%20)%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Set%20graph%20titel%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BText%20Edit%20Box(%201%20)%5D%20%26lt%3B%26lt%3B%20Set%20text(%20numPar%5Bi%5D%20%7C%7C%20%22%20vs.%20Time%20Point%20%22)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Append%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Fgbba%20%3D%20Report(%20gbb%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Ecol2%20%26lt%3B%26lt%3B%20Append(%20gbb%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Ffilter%20%26lt%3B%26lt%3B%20close%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb%20%26lt%3B%26lt%3B%20close%20window%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Start%20second%20plot%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb2%20%3D%26nbsp%3B%20Graph%20Builder(%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Finvisible%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3ESize(%20700%2C%20400%20)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EVariables(%20X(%20Time%20Point%20Months%20)%2C%20Y(%20%3ADifference%20)%2C%20Color(%20%3ABatch%20)%20)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EElements(%20Points(%20X%2C%20Y)%20)%20%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb2%20%26lt%3B%26lt%3B%20Local%20Data%20Filter(invisible%2C%20Add%20Filter(%20columns(%20%3AComponent%2C%20%3ABatch%2C%20%3ASource%20Table%20)%2C%20Where(%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%20)%2C%26nbsp%3B%20Where(%20%3ABatch%20%3D%3D%20cyc%5Bk%5D)%2C%20Where(%20%3ASource%20Table%20%3D%3D%20dt5_name)))%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Edt4%20%26lt%3B%26lt%3B%20Clear%20Select()%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Remove%20the%20filter%20display%20from%20the%20graph%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb2%20%26lt%3B%26lt%3B%20Show%20Control%20Panel(%200%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Report%20for%20changing%20plot%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb2%20%3D%20Report(%20gb2%20)%5BGraphBuilderBox(%201%20)%5D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb2%20%26lt%3B%26lt%3B%20Add%20Element(%201%2C%201%2C%20%7BType(%20%22Line%22%20)%2C%20X%2C%20Y%7D%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Get%20the%20HC%20value%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3El_idx%20%3D%20dt4%20%26lt%3B%26lt%3B%20Get%20rows%20where(dt4%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eul%20%3D%20min(dt4%3AHC%5Bl_idx%5D)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eif(Ismissing(ul)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eif(min(%3ADifference%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt5_name)%5D)%20%3D%3D%200%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eminval%20%3D%20-5%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Emaxval%20%3D%205%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eminval%20%3D%20min(%3ADifference%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt5_name)%5D)*0.95%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Emaxval%20%3D%20max(%3ADifference%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt5_name)%5D)*1.05%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eminval%20%3D%20min(%3ADifference%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt5_name)%5D%2C-ul)*1.05%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Emaxval%20%3D%20max(%3ADifference%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt5_name)%5D%2C%20ul)*1.05%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eif(!ismissing(ul)%2C%20%2F%2Fif%20no%20HC%20value%20dont%20create%20limit%20line%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb2%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20Add%20Ref%20Line(ul%2C%22solid%22%2C%20black%2C%20char(round(ul%2C2)))%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb2%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20Add%20Ref%20Line(-ul%2C%22solid%22%2C%20black%2C%20char(round(-ul%2C2)))%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb2%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20Add%20Ref%20Line(0%2C%22Dashed%22)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb2%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20min(minval)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb2%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20max(maxval)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb2%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20inc((maxval-minval)%2F10)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2FAppend%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Fgbba2%20%3D%20Report(%20gbb2%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Ecol3%20%26lt%3B%26lt%3B%20Append(%20gbba2%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Ffilter%20%26lt%3B%26lt%3B%20close%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb2%20%26lt%3B%26lt%3B%20close%20window%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Etab%20%3D%20Tab%20Page%20Box(numPar%5Bi%5D%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20V%20List%20Box(%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Ecol1%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EH%20List%20Box(%20col2%2Ccol3%20)%20%2F%2F%20Placing%20the%20two%20plots%20next%20to%20each%20other%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%20%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Etab%20%26lt%3B%26lt%3B%20Title(numPar%5Bi%5D)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Fgb%20%26lt%3B%26lt%3B%20title(Char(1))%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb_collector%20%26lt%3B%26lt%3B%20Append(tab)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb_collector%20%26lt%3B%26lt%3B%20Dockable(%201%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb_collector%20%26lt%3B%26lt%3B%20Set%20Overflow%20Enabled(%201%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Enw%20%3D%20New%20Window(%22My%20dashboard%22%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb_collector%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3Ecan%20you%20please%20help%20me%20find%20out%20how%20to%20do%20it%3F%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-797416%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20interactive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-797416%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EYou%20have%20to%20take%20a%20step%20back%20and%20explain%20what%20you%20want%3A%20in%20best%20case%20provide%20example%20data%20or%20use%20one%20of%20the%20JMPs%20sample%20datasets%20to%20explain%20what%20you%20wish%20to%20have%20in%20the%20smallest%20possible%20example.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-797418%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20interactive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-797418%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3ENames%20Default%20To%20Here(1)%3B%0A%0Adt%20%3D%20Open(%22%24SAMPLE_DATA%2FBig%20Class.jmp%22)%3B%0A%0Agb_collector%20%3D%20Tab%20Box(%22Dashboard%22)%3B%0A%0AFor(i%20%3D%201%2C%20i%20%26lt%3B%3D%2020%2C%20i%2B%2B%2C%20%0A%2F%2F%20Column%20box%20for%20plot%20of%20all%20batches%0A%09col1%20%3D%20Col%20Box(%22All%20Batches%22%20%7C%7C%20Char(i))%3B%0A%0A%2F%2F%20Create%20the%20first%20Graph%20Builder%20plot%0A%09gb%20%3D%20Expr(%0A%09%09dt%20%26lt%3B%26lt%3B%20Graph%20Builder(%0A%09%09%09invisible%2C%0A%09%09%09Variables(X(%3Aweight)%2C%20Y(%3Aheight)%2C%20Overlay(%3Asex))%2C%0A%09%09%09Elements(Points(X%2C%20Y%2C%20Legend(9))%2C%20Line%20Of%20Fit(X%2C%20Y%2C%20Legend(11)))%0A%09%09)%0A%09)%3B%0A%09col1%20%26lt%3B%26lt%3B%20Append(gb)%3B%0A%0A%2F%2F%20Create%20a%20column%20box%20for%20the%20two%20Graph%20Builder%20plots%0A%09col2%20%3D%20Col%20Box(%22Actual%20Data%20%22%20%7C%7C%20Char(i))%3B%0A%0A%2F%2F%20Create%20and%20append%20two%20Graph%20Builder%20plots%20to%20col2%0A%09For(j%20%3D%201%2C%20j%20%26lt%3B%3D%202%2C%20j%2B%2B%2C%0A%09%09gbb%20%3D%20Expr(%0A%09%09%09dt%20%26lt%3B%26lt%3B%20Graph%20Builder(%0A%09%09%09%09invisible%2C%0A%09%09%09%09Variables(X(%3Aweight)%2C%20Y(%3Aheight)%2C%20Overlay(%3Asex))%2C%0A%09%09%09%09Elements(Points(X%2C%20Y%2C%20Legend(9))%2C%20Line%20Of%20Fit(X%2C%20Y%2C%20Legend(11)))%0A%09%09%09)%0A%09%09)%3B%0A%09%09col2%20%26lt%3B%26lt%3B%20Append(gbb)%3B%0A%09)%3B%0A%0A%2F%2F%20Create%20a%20tab%20for%20col1%20and%20col2%20and%20append%20it%20to%20gb_collector%0A%09tab%20%3D%20Tab%20Page%20Box(%0A%09%09%22%20Something%20Something%20%22%2C%0A%09%09V%20List%20Box(%0A%09%09%09col1%2C%0A%09%09%09H%20List%20Box(col2)%20%2F%2F%20Placing%20the%20two%20plots%20next%20to%20each%20other%0A%09%09)%0A%09)%3B%0A%09gb_collector%20%26lt%3B%26lt%3B%20Append(tab)%3B%0A%0A%2F%2F%20Set%20title%20for%20gb%0A%09gb%20%26lt%3B%26lt%3B%20title(%22Title%22)%3B%0A)%3B%0A%0Agb_collector%20%26lt%3B%26lt%3B%20Dockable(1)%3B%0Agb_collector%20%26lt%3B%26lt%3B%20Set%20Overflow%20Enabled(1)%3B%0A%0Anw%20%3D%20New%20Window(%22Dashboard%22%2C%20gb_collector)%3B%0A%0A%0A%0A%0A%0AHere%20is%20the%20example%20that%20i%20use%20and%20i%20am%20trying%20to%20follow%20the%20same%20structure%20in%20my%20own%20script.%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-797421%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20interactive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-797421%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CDIV%3E%3CSPAN%3ECurrent%20Data%20Table(dt)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Edt%20%26lt%3B%26lt%3B%20New%20column(%22Time%20Point%20Months%22%2C%20Formula(Round(%3ATime%20Point%20Days%2F30.438)%2C%202))%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb_collector%20%3D%20Tab%20Box()%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EFor(i%20%3D%201%2C%20i%20%26lt%3B%3D%20N%20Items(numPar)%2C%20i%2B%2B%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Column%20box%20for%20plot%20of%20all%20batches%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Ecol1%20%3D%20Col%20Box(%20%22%22%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Column%20box%20for%20plot%20of%20actual%20data%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Ecol2%20%3D%20Col%20Box(%20%22%22%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Column%20box%20for%20plot%20of%20difference%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Ecol3%20%3D%20Col%20Box(%20%22%22%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Ftab%20%3D%20Tab%20Page%20Box(%22%22%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb%20%3D%20dt%20%26lt%3B%26lt%3B%20Graph%20Builder(%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Finvisible%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3ESize(700%2C%20400)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EVariables(X(%3ATime%20Point%20Months)%2C%20Y(%3AResult)%2C%20Overlay(%3ABatch))%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EElements(Points(X%2C%20Y))%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Local%20filter%3A%20set%20the%20batch%20to%20only%20the%20batches%20that%20are%20in%20cyc%20with%20a%20ref%2C%20not%20all%20other%20batches%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb%20%26lt%3B%26lt%3B%20Local%20Data%20Filter(%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Einvisible%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EAdd%20Filter(columns(%3AComponent%2C%20%3ABatch%2C%20%3ASource%20Table)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EWhere(%3AComponent%20%3D%3D%20numPar%5Bi%5D)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EWhere(%3ABatch%20%3D%3D%20%7Bcyc%2C%20bat%7D)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EWhere(%3ASource%20Table%20%3D%3D%20dt_name)%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Edt%20%26lt%3B%26lt%3B%20Clear%20Select()%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Remove%20the%20filter%20display%20from%20the%20graph%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb%20%26lt%3B%26lt%3B%20Show%20Control%20Panel(0)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Report%20for%20changing%20plot%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%20%3D%20Report(gb)%5BGraphBuilderBox(1)%5D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Add%20linear%20regression%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%20%26lt%3B%26lt%3B%20Add%20Element(1%2C%201%2C%20%7BType(%22Line%20Of%20Fit%22)%2C%20X%2C%20Y%2C%20Confidence%20of%20Fit(0)%2C%20Equation(0)%7D)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Set%20Y%20axis%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eminval%20%3D%20min(%3AResult%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%20%7C%20%3ABatch%20%3D%3D%20bat%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D)%20*%200.95%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Emaxval%20%3D%20max(%3AResult%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%20%7C%20%3ABatch%20%3D%3D%20bat%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D)%20*%201.05%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Emaxvalts%20%3D%20max(%3ATime%20Point%20Months%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%20%7C%20%3ABatch%20%3D%3D%20bat%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D)%20*%201.05%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(1)%5D%20%26lt%3B%26lt%3B%20min(-0.1)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(1)%5D%20%26lt%3B%26lt%3B%20max(maxvalts)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20min(minval)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20max(maxval)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20inc((maxval%20-%20minval)%20%2F%2010)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Set%20Y%20axis%20label%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EunitList%20%3D%20Associative%20Array(%3AResult%20Unit%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%20%7C%20%3ABatch%20%3D%3D%20bat%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D)%20%26lt%3B%26lt%3B%20Remove(%22%22)%20%26lt%3B%26lt%3B%20Get%20Keys%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EIf(N%20Items(unitList)%20%3D%3D%201%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BText%20Edit%20Box(4)%5D%20%26lt%3B%26lt%3B%20Set%20text(numPar%5Bi%5D%20%7C%7C%20%22%20%5B%22%20%7C%7C%20unitList%5B1%5D%20%7C%7C%20%22%5D%22)%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BText%20Edit%20Box(4)%5D%20%26lt%3B%26lt%3B%20Set%20text(numPar%5Bi%5D)%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Set%20graph%20title%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BText%20Edit%20Box(1)%5D%20%26lt%3B%26lt%3B%20Set%20text(numPar%5Bi%5D%20%7C%7C%20%22%20vs.%20Time%20Point%22)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Append%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Fgbba%20%3D%20Report(gb)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Ecol1%20%26lt%3B%26lt%3B%20Append(gb)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Ffilter%20%26lt%3B%26lt%3B%20close%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb%20%26lt%3B%26lt%3B%20close%20window%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Within%20the%20loop%20through%20parameters%20we%20are%20now%20also%20looping%20through%20batches%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EFor(k%20%3D%201%2C%20k%20%26lt%3B%3D%20N%20Items(%20cyc%20)%2C%20k%2B%2B%2C%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Echeck%20%3D%20dt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%20%7C%20%3ABatch%20%3D%3D%20bat%5Bk%5D%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%26nbsp%3B%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eif(N%20items(check)%20%26gt%3B%200%2C%20%2F%2F%20Create%20check%20to%20see%20if%20parameter%20exist%20for%20current%20batch%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Create%20base%20plot%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb%20%3D%20Graph%20Builder(%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Finvisible%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3ESize(%20700%2C%20400%20)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EVariables(%20X(%20%3ATime%20Point%20Months%20)%2C%20Y(%20%3AResult%20)%2C%20Overlay(%20%3ABatch%20)%20)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EElements(%20Points(%20X%2C%20Y)%2C%26nbsp%3B%20)%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb%20%26lt%3B%26lt%3B%20Local%20Data%20Filter(invisible%2C%20Add%20Filter(%20columns(%20%3AComponent%2C%20%3ABatch%2C%20%3ASource%20Table%20)%2C%20Where(%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%20)%2C%26nbsp%3B%20Where(%20%3ABatch%20%3D%3D%20%7Bcyc%5Bk%5D%2C%20bat%5Bk%5D%7D)%2C%20Where(%20%3ASource%20Table%20%3D%3D%20dt_name)%20))%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Edt%20%26lt%3B%26lt%3B%20Clear%20Select()%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Remove%20the%20filter%20display%20from%20the%20graph%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb%20%26lt%3B%26lt%3B%20Show%20Control%20Panel(%200%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Report%20for%20changing%20plot%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%20%3D%20Report(%20gb%20)%5BGraphBuilderBox(%201%20)%5D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Add%20liniear%20regression%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%20%26lt%3B%26lt%3B%20Add%20Element(%201%2C%201%2C%20%7BType(%20%22Line%20Of%20Fit%22%20)%2C%20X%2C%20Y%2C%20Confidence%20of%20Fit(%200%20)%2CEquation(%200%20)%7D%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Set%20Y%20axis%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eminval%20%3D%20min(%3AResult%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%20%7C%20%3ABatch%20%3D%3D%20bat%5Bk%5D%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%26nbsp%3B%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D)*0.95%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Emaxval%20%3D%20max(%3AResult%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%26nbsp%3B%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%7C%20%3ABatch%20%3D%3D%20bat%5Bk%5D%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%26nbsp%3B%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D)*1.05%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Emaxvalts%20%3D%20max(%3ATime%20Point%20Months%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%26nbsp%3B%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%7C%20%3ABatch%20%3D%3D%20bat%5Bk%5D%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%26nbsp%3B%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D)*1.05%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(1)%5D%20%26lt%3B%26lt%3B%20min(-0.1)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(1)%5D%20%26lt%3B%26lt%3B%20max(maxvalts)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20min(minval)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20max(maxval)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20inc((maxval-minval)%2F10)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Set%20Y%20axis%20label%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EunitList%20%3D%20Associative%20Array(%20%3AResult%20Unit%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%26nbsp%3B%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name%20%7C%20%3ABatch%20%3D%3D%20bat%5Bk%5D%20%26amp%3B%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%26nbsp%3B%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt_name)%5D%20)%20%26lt%3B%26lt%3B%20Remove(%20%22%22%20)%20%26lt%3B%26lt%3B%20Get%20Keys%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EIf(%20N%20Items(%20unitList%20)%20%3D%3D%201%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BText%20Edit%20Box(%204%20)%5D%20%26lt%3B%26lt%3B%20Set%20text(%20numPar%5Bi%5D%20%7C%7C%20%22%20%5B%22%20%7C%7C%20unitList%5B1%5D%20%7C%7C%20%22%5D%22%20)%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EIf(%20N%20Items(%20unitList%20)%20!%3D%201%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BText%20Edit%20Box(%204%20)%5D%20%26lt%3B%26lt%3B%20Set%20text(%20numPar%5Bi%5D%20)%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Set%20graph%20titel%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb%5BText%20Edit%20Box(%201%20)%5D%20%26lt%3B%26lt%3B%20Set%20text(%20numPar%5Bi%5D%20%7C%7C%20%22%20vs.%20Time%20Point%20%22)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Append%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Fgbba%20%3D%20Report(%20gbb%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Ecol2%20%26lt%3B%26lt%3B%20Append(%20gbb%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Ffilter%20%26lt%3B%26lt%3B%20close%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb%20%26lt%3B%26lt%3B%20close%20window%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Start%20second%20plot%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb2%20%3D%26nbsp%3B%20Graph%20Builder(%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Finvisible%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3ESize(%20700%2C%20400%20)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EVariables(%20X(%20Time%20Point%20Months%20)%2C%20Y(%20%3ADifference%20)%2C%20Color(%20%3ABatch%20)%20)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EElements(%20Points(%20X%2C%20Y)%20)%20%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb2%20%26lt%3B%26lt%3B%20Local%20Data%20Filter(invisible%2C%20Add%20Filter(%20columns(%20%3AComponent%2C%20%3ABatch%2C%20%3ASource%20Table%20)%2C%20Where(%20%3AComponent%20%3D%3D%20numPar%5Bi%5D%20)%2C%26nbsp%3B%20Where(%20%3ABatch%20%3D%3D%20cyc%5Bk%5D)%2C%20Where(%20%3ASource%20Table%20%3D%3D%20dt5_name)))%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Edt4%20%26lt%3B%26lt%3B%20Clear%20Select()%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Remove%20the%20filter%20display%20from%20the%20graph%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb2%20%26lt%3B%26lt%3B%20Show%20Control%20Panel(%200%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Report%20for%20changing%20plot%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb2%20%3D%20Report(%20gb2%20)%5BGraphBuilderBox(%201%20)%5D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb2%20%26lt%3B%26lt%3B%20Add%20Element(%201%2C%201%2C%20%7BType(%20%22Line%22%20)%2C%20X%2C%20Y%7D%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20Get%20the%20HC%20value%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3El_idx%20%3D%20dt4%20%26lt%3B%26lt%3B%20Get%20rows%20where(dt4%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eul%20%3D%20min(dt4%3AHC%5Bl_idx%5D)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eif(Ismissing(ul)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eif(min(%3ADifference%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt5_name)%5D)%20%3D%3D%200%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eminval%20%3D%20-5%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Emaxval%20%3D%205%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eminval%20%3D%20min(%3ADifference%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt5_name)%5D)*0.95%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Emaxval%20%3D%20max(%3ADifference%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt5_name)%5D)*1.05%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eminval%20%3D%20min(%3ADifference%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt5_name)%5D%2C-ul)*1.05%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Emaxval%20%3D%20max(%3ADifference%5Bdt%20%26lt%3B%26lt%3B%20get%20rows%20where(%3AComponent%20%3D%3D%20numPar%5Bi%5D%20%26amp%3B%20%3ABatch%20%3D%3D%20cyc%5Bk%5D%20%26amp%3B%20%3ASource%20Table%20%3D%3D%20dt5_name)%5D%2C%20ul)*1.05%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eif(!ismissing(ul)%2C%20%2F%2Fif%20no%20HC%20value%20dont%20create%20limit%20line%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb2%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20Add%20Ref%20Line(ul%2C%22solid%22%2C%20black%2C%20char(round(ul%2C2)))%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb2%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20Add%20Ref%20Line(-ul%2C%22solid%22%2C%20black%2C%20char(round(-ul%2C2)))%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb2%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20Add%20Ref%20Line(0%2C%22Dashed%22)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb2%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20min(minval)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb2%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20max(maxval)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egbb2%5BAxisBox(2)%5D%20%26lt%3B%26lt%3B%20inc((maxval-minval)%2F10)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2FAppend%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Fgbba2%20%3D%20Report(%20gbb2%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Ecol3%20%26lt%3B%26lt%3B%20Append(%20gbba2%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Ffilter%20%26lt%3B%26lt%3B%20close%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb2%20%26lt%3B%26lt%3B%20close%20window%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Etab%20%3D%20Tab%20Page%20Box(numPar%5Bi%5D%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20V%20List%20Box(%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Ecol1%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EH%20List%20Box(%20col2%2Ccol3%20)%20%2F%2F%20Placing%20the%20two%20plots%20next%20to%20each%20other%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%20%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Etab%20%26lt%3B%26lt%3B%20Title(numPar%5Bi%5D)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2Fgb%20%26lt%3B%26lt%3B%20title(Char(1))%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb_collector%20%26lt%3B%26lt%3B%20Append(tab)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb_collector%20%26lt%3B%26lt%3B%20Dockable(%201%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb_collector%20%26lt%3B%26lt%3B%20Set%20Overflow%20Enabled(%201%20)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Enw%20%3D%20New%20Window(%22My%20dashboard%22%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Egb_collector%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E)%3B%3CBR%20%2F%3E%3CBR%20%2F%3EHere%20is%20my%20script..%26nbsp%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CP%20class%3D%22%22%3EAttached%20is%20a%20screenshot%20of%20my%20current%20dashboard%2C%20which%20contains%208%20graphs.%20Here%20are%20my%20specific%20requirements%20for%20organizing%20these%20graphs%3A%3C%2FP%3E%3COL%3E%3CLI%3E%3CSTRONG%3EKeep%20the%20First%20Graph%3C%2FSTRONG%3E%3A%20I%20would%20like%20to%20retain%20the%20first%20graph%20as%20it%20is.%3C%2FLI%3E%3CLI%3E%3CSTRONG%3ERemove%20the%20Second%20Graph%3C%2FSTRONG%3E%3A%20The%20second%20graph%20should%20be%20removed%20from%20the%20dashboard.%3C%2FLI%3E%3CLI%3E%3CSTRONG%3EPair%20the%20Last%20Six%20Graphs%3C%2FSTRONG%3E%3A%20The%20last%20six%20graphs%20should%20be%20paired%20such%20that%20each%20pair%20is%20displayed%20side%20by%20side.%20Specifically%2C%20the%20graphs%20should%20be%20organized%20as%20follows%3A%3CUL%3E%3CLI%3EThe%20third%20and%20fourth%20graphs%20should%20be%20displayed%20next%20to%20each%20other.%3C%2FLI%3E%3CLI%3EThe%20fifth%20and%20sixth%20graphs%20should%20be%20displayed%20next%20to%20each%20other.%3C%2FLI%3E%3CLI%3EThe%20seventh%20and%20eighth%20graphs%20should%20be%20displayed%20next%20to%20each%20other.%3C%2FLI%3E%3C%2FUL%3E%3C%2FLI%3E%3C%2FOL%3E%3CP%20class%3D%22%22%3ETo%20summarize%2C%20the%20final%20layout%20should%20have%20the%20first%20graph%20followed%20by%20three%20pairs%20of%20graphs%2C%20with%20each%20pair%20displayed%20side%20by%20side.%3C%2FP%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-797552%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20interactive%20plots%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-797552%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThose%20two%20scripts%20are%20totally%20different%20(also%20please%20use%20JSL%20formatting%20for%20JSL%20code%20it%20is%20much%20easier%20to%20read).%20What%20are%20you%20using%20Col%20Box%20for%3F%20What%20are%20you%20looping%20over%20(i%20and%20j)%3F%20What%20determines%20what%20information%20each%20of%20the%20graphs%20contains%3F%20Should%20they%20be%20interactive%20with%20each%20other%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar

interactive plots

Does anyone have any ideas on how to create interactive reports?

In the report, I want to include graphs with multiple lines in each graph. On the left side of the window, I would like to have a list of the lines. When I click on a line from the list, I want the selected line in the graph to be more prominent, while the remaining lines are faded out.

19 REPLIES 19
jthi
Super User

Re: interactive plots

They seem to have changed it in JMP18. In JMP17.2 this seemed to work

Names Default To Here(1); 

dt = open("$SAMPLE_DATA/Big Class.jmp");

gb_collector = Tab Box(<< Set Style("Horizontal Spread"));

For(i = 1, i <= 3, i++,
	tab = Tab Page Box("",
		gb = dt << Graph Builder(
			Variables(X(:weight), Y(:height), Overlay(:sex)),
			Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
		)
	);
	tab << Title("Title " || Char(i));
	gb << title(Char(i));
	gb_collector << Append(tab)
);

nw = New Window("",
	gb_collector
);
-Jarmo

Re: interactive plots

Another issue I would like to address is when I have a large number of tabs (e.g., 20) with lengthy titles, the graphs become disproportionately large, making it difficult to observe them clearly. I would like to resize the graphs to a smaller scale while retaining the large titles and tabs. Is it possible to position the graph on the left with empty space to the right?

jthi
Super User

Re: interactive plots

I'm not sure what you mean by "graph on the left with empty space to the right". Create graph manually, resize it a bit, copy script and it will tell you how you can add size to the graph. Tab Box also has overflow and other options which you can find from scripting index

jthi_0-1725544166531.png

 

-Jarmo

Re: interactive plots

I am trying to figure out if there is any way to place the graphs like in this screenshot. For example, the first graph first, and then the other two together.

jthi
Super User

Re: interactive plots

You can combine for example V List Box, H List Box, Tab Box, Tab Page Box in many different ways to get the layout you want.

You can find quite a lot of information from Scripting Guide https://www.jmp.com/support/help/en/18.0/#page/jmp/construct-display-boxes-for-new-windows.shtml

 

Names Default To Here(1); 

dt = open("$SAMPLE_DATA/Big Class.jmp");

gb_expr = Expr(dt << Graph Builder(
	Show Control Panel(0),
	Variables(X(:weight), Y(:height), Overlay(:sex)),
	Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
));

nw = New Window("",
	V List Box(
		gb_expr,
		H List Box(
			gb_expr,
			gb_expr
		)
	)
);
-Jarmo

Re: interactive plots

Names Default To Here(1);

dt = Open("$SAMPLE_DATA/Big Class.jmp");

gb_collector = Tab Box("Dashboard");

For(i = 1, i <= 20, i++, 
// Column box for plot of all batches
	col1 = Col Box("All Batches" || Char(i));

// Create the first Graph Builder plot
	gb = Expr(
		dt << Graph Builder(
			invisible,
			Variables(X(:weight), Y(:height), Overlay(:sex)),
			Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
		)
	);
	col1 << Append(gb);

// Create a column box for the two Graph Builder plots
	col2 = Col Box("Actual Data " || Char(i));

// Create and append two Graph Builder plots to col2
	For(j = 1, j <= 2, j++,
		gbb = Expr(
			dt << Graph Builder(
				invisible,
				Variables(X(:weight), Y(:height), Overlay(:sex)),
				Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
			)
		);
		col2 << Append(gbb);
	);

// Create a tab for col1 and col2 and append it to gb_collector
	tab = Tab Page Box(
		" Something Something ",
		V List Box(
			col1,
			H List Box(col2) // Placing the two plots next to each other
		)
	);
	gb_collector << Append(tab);

// Set title for gb
	gb << title("dxfkgbdlk,xfhglihxfd");
);

gb_collector << Dockable(1);
gb_collector << Set Overflow Enabled(1);

nw = New Window("Dashboard", gb_collector);

Trying to use the above example in my script . But i don't get any output. Here is my script: 

Current Data Table(dt);
dt << New Column("Time Point Months", Formula(Round(:Time Point Days / 30.438), 2));
 
 
gb_collector = Tab Box();
 
For(i = 1, i <= N Items(numPar), i++, 
 
// Column box for plot of all batches
	col1 = Col Box("");
// Column box for plot of actual data
	col2 = Col Box("");
// Column box for plot of difference
	col3 = Col Box("");
 
//tab = Tab Page Box("",
	gb = dt << Graph Builder(
//invisible,
		Size(700, 400),
		Variables(X(:Time Point Months), Y(:Result), Overlay(:Batch)),
		Elements(Points(X, Y))
	); 
 
// Local filter: set the batch to only the batches that are in cyc with a ref, not all other batches
	gb << Local Data Filter(
		invisible,
		Add Filter(
			columns(:Component, :Batch, :Source Table),
			Where(:Component == numPar[i]),
			Where(:Batch == {cyc, bat}),
			Where(:Source Table == dt_name)
		)
	);
	dt << Clear Select();
// Remove the filter display from the graph
	gb << Show Control Panel(0);
// Report for changing plot
	gbb = Report(gb)[GraphBuilderBox(1)];
// Add linear regression
	gbb << Add Element(1, 1, {Type("Line Of Fit"), X, Y, Confidence of Fit(0), Equation(0)});
 
// Set Y axis
	minval = Min(
		:Result[dt << get rows where(
			:Component == numPar[i] & :Batch == cyc & :Source Table == dt_name | :Batch == bat
			 & :Component == numPar[i] & :Source Table == dt_name
		)]
	) * 0.95;
	maxval = Max(
		:Result[dt << get rows where(
			:Component == numPar[i] & :Batch == cyc & :Source Table == dt_name | :Batch == bat
			 & :Component == numPar[i] & :Source Table == dt_name
		)]
	) * 1.05;
	maxvalts = Max(
		:Time Point Months[dt << get rows where(
			:Component == numPar[i] & :Batch == cyc & :Source Table == dt_name | :Batch == bat
			 & :Component == numPar[i] & :Source Table == dt_name
		)]
	) * 1.05;
	gbb[AxisBox(1)] << Min(-0.1);
	gbb[AxisBox(1)] << Max(maxvalts);
	gbb[AxisBox(2)] << Min(minval);
	gbb[AxisBox(2)] << Max(maxval);
	gbb[AxisBox(2)] << inc((maxval - minval) / 10);
 
// Set Y axis label
	unitList = Associative Array(
		:Result Unit[dt << get rows where(
			:Component == numPar[i] & :Batch == cyc & :Source Table == dt_name | :Batch == bat
			 & :Component == numPar[i] & :Source Table == dt_name
		)]
	) << Remove("") << Get Keys;
	If(N Items(unitList) == 1,
		gbb[Text Edit Box(4)] << Set text(numPar[i] || " [" || unitList[1] || "]"),
		gbb[Text Edit Box(4)] << Set text(numPar[i])
	);
 
 
// Set graph title
	gbb[Text Edit Box(1)] << Set text(numPar[i] || " vs. Time Point");
// Append
	//gbba = Report(gb),
	col1 << Append(gb);
 
 
 
 
 
//filter << close;
	gb << close window;
 
// Within the loop through parameters we are now also looping through batches
	For(k = 1, k <= N Items(cyc), k++,
		check = dt << get rows where(
			:Component == numPar[i] & :Batch == cyc[k] & :Source Table == dt_name | :Batch ==
			bat[k] & :Component == numPar[i] & :Source Table == dt_name
		);
		If(N Items(check) > 0, // Create check to see if parameter exist for current batch
			// Create base plot
			gb = Graph Builder(
//invisible,
				Size(700, 400),
				Variables(X(:Time Point Months), Y(:Result), Overlay(:Batch)),
				Elements(Points(X, Y), )
			);
			gb << Local Data Filter(
				invisible,
				Add Filter(
					columns(:Component, :Batch, :Source Table),
					Where(:Component == numPar[i]),
					Where(:Batch == {cyc[k], bat[k]}),
					Where(:Source Table == dt_name)
				)
			);
			dt << Clear Select();
 
 
 
// Remove the filter display from the graph
			gb << Show Control Panel(0);
 
 
// Report for changing plot
			gbb = Report(gb)[GraphBuilderBox(1)];
 
// Add liniear regression
			gbb << Add Element(
				1,
				1,
				{Type("Line Of Fit"), X, Y, Confidence of Fit(0), Equation(0)}
			);
 
// Set Y axis
			minval = Min(
				:Result[dt << get rows where(
					:Component == numPar[i] & :Batch == cyc[k] & :Source Table == dt_name |
					:Batch == bat[k] & :Component == numPar[i] & :Source Table == dt_name
				)]
			) * 0.95;
			maxval = Max(
				:Result[dt << get rows where(
					:Component == numPar[i] & :Batch == cyc[k] & :Source Table == dt_name |
					:Batch == bat[k] & :Component == numPar[i] & :Source Table == dt_name
				)]
			) * 1.05;
			maxvalts = Max(
				:Time Point Months[dt << get rows where(
					:Component == numPar[i] & :Batch == cyc[k] & :Source Table == dt_name |
					:Batch == bat[k] & :Component == numPar[i] & :Source Table == dt_name
				)]
			) * 1.05;
 
			gbb[AxisBox(1)] << Min(-0.1);
			gbb[AxisBox(1)] << Max(maxvalts);
			gbb[AxisBox(2)] << Min(minval);
			gbb[AxisBox(2)] << Max(maxval);
			gbb[AxisBox(2)] << inc((maxval - minval) / 10);
 
// Set Y axis label
			unitList = Associative Array(
				:Result Unit[dt << get rows where(
					:Component == numPar[i] & :Batch == cyc[k] & :Source Table == dt_name |
					:Batch == bat[k] & :Component == numPar[i] & :Source Table == dt_name
				)]
			) << Remove("") << Get Keys;
 
			If(N Items(unitList) == 1,
				gbb[Text Edit Box(4)] << Set text(numPar[i] || " [" || unitList[1] || "]")
			);
 
			If(N Items(unitList) != 1,
				gbb[Text Edit Box(4)] << Set text(numPar[i])
			);
 
// Set graph titel
			gbb[Text Edit Box(1)] << Set text(numPar[i] || " vs. Time Point ");
 
// Append
			//gbba = Report( gbb );
			col2 << Append(gbb);
 
//filter << close;
			gb << close window;
 
// Start second plot
			gb2 = Graph Builder(
//invisible,
				Size(700, 400),
				Variables(X(Time Point Months), Y(:Difference), Color(:Batch)),
				Elements(Points(X, Y))
			);
			gb2 << Local Data Filter(
				invisible,
				Add Filter(
					columns(:Component, :Batch, :Source Table),
					Where(:Component == numPar[i]),
					Where(:Batch == cyc[k]),
					Where(:Source Table == dt5_name)
				)
			);
			dt4 << Clear Select();
 
 
// Remove the filter display from the graph
			gb2 << Show Control Panel(0);
 
// Report for changing plot
			gbb2 = Report(gb2)[GraphBuilderBox(1)];
 
			gbb2 << Add Element(1, 1, {Type("Line"), X, Y});
 
// Get the HC value
			l_idx = dt4 << Get rows where(dt4:Component == numPar[i] & :Batch == cyc[k]);
			ul = Min(dt4:HC[l_idx]);
 
			If(Is Missing(ul),
				If(
					Min(
						:Difference[dt << get rows where(
							:Component == numPar[i] & :Batch == cyc[k] & :Source Table ==
							dt5_name
						)]
					) == 0,
					minval = -5;
					maxval = 5;
				,
					minval = Min(
						:Difference[dt << get rows where(
							:Component == numPar[i] & :Batch == cyc[k] & :Source Table ==
							dt5_name
						)]
					) * 0.95;
					maxval = Max(
						:Difference[dt << get rows where(
							:Component == numPar[i] & :Batch == cyc[k] & :Source Table ==
							dt5_name
						)]
					) * 1.05;
				)
			,
				minval = Min(
					:Difference[dt << get rows where(
						:Component == numPar[i] & :Batch == cyc[k] & :Source Table == dt5_name
					)],
					-ul
				) * 1.05;
				maxval = Max(
					:Difference[dt << get rows where(
						:Component == numPar[i] & :Batch == cyc[k] & :Source Table == dt5_name
					)],
					ul
				) * 1.05;
			);
 
			If(!Is Missing(ul), //if no HC value dont create limit line
				gbb2[AxisBox(2)] << Add Ref Line(ul, "solid", black, Char(Round(ul, 2)));
				gbb2[AxisBox(2)] << Add Ref Line(-ul, "solid", black, Char(Round(-ul, 2)));
			);
 
			gbb2[AxisBox(2)] << Add Ref Line(0, "Dashed");
			gbb2[AxisBox(2)] << Min(minval);
			gbb2[AxisBox(2)] << Max(maxval);
			gbb2[AxisBox(2)] << inc((maxval - minval) / 10);
 
//Append
			//gbba2 = Report( gbb2 );
			col3 << Append(gbba2);
 
//filter << close;
			gb2 << close window;
 
		);
	);
 
//);
	tab = Tab Page Box(
		numPar[i],
		V List Box(
			col1
H List Box(col2, col3) // Placing the two plots next to each other
 
		)
	);
	tab << Title(numPar[i]);
//gb << title(Char(1));
	gb_collector << Append(tab);
 
);
gb_collector << Dockable(1);
gb_collector << Set Overflow Enabled(1);
 
 
 
nw = New Window("My dashboard", gb_collector);
Edit 2024-09-10 jthi: added JSL formatting


can you please help me find out how to do it?
jthi
Super User

Re: interactive plots

You have to take a step back and explain what you want: in best case provide example data or use one of the JMPs sample datasets to explain what you wish to have in the smallest possible example.

-Jarmo

Re: interactive plots

Names Default To Here(1);

dt = Open("$SAMPLE_DATA/Big Class.jmp");

gb_collector = Tab Box("Dashboard");

For(i = 1, i <= 20, i++, 
// Column box for plot of all batches
	col1 = Col Box("All Batches" || Char(i));

// Create the first Graph Builder plot
	gb = Expr(
		dt << Graph Builder(
			invisible,
			Variables(X(:weight), Y(:height), Overlay(:sex)),
			Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
		)
	);
	col1 << Append(gb);

// Create a column box for the two Graph Builder plots
	col2 = Col Box("Actual Data " || Char(i));

// Create and append two Graph Builder plots to col2
	For(j = 1, j <= 2, j++,
		gbb = Expr(
			dt << Graph Builder(
				invisible,
				Variables(X(:weight), Y(:height), Overlay(:sex)),
				Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
			)
		);
		col2 << Append(gbb);
	);

// Create a tab for col1 and col2 and append it to gb_collector
	tab = Tab Page Box(
		" Something Something ",
		V List Box(
			col1,
			H List Box(col2) // Placing the two plots next to each other
		)
	);
	gb_collector << Append(tab);

// Set title for gb
	gb << title("Title");
);

gb_collector << Dockable(1);
gb_collector << Set Overflow Enabled(1);

nw = New Window("Dashboard", gb_collector);





Here is the example that i use and i am trying to follow the same structure in my own script.

Re: interactive plots

Current Data Table(dt);
dt << New column("Time Point Months", Formula(Round(:Time Point Days/30.438), 2));
 
 
gb_collector = Tab Box();
 
For(i = 1, i <= N Items(numPar), i++,
 
// Column box for plot of all batches
col1 = Col Box( "" );
// Column box for plot of actual data
col2 = Col Box( "" );
// Column box for plot of difference
col3 = Col Box( "" );
 
//tab = Tab Page Box("",
gb = dt << Graph Builder(
//invisible,
Size(700, 400),
Variables(X(:Time Point Months), Y(:Result), Overlay(:Batch)),
Elements(Points(X, Y))
); 
 
// Local filter: set the batch to only the batches that are in cyc with a ref, not all other batches
gb << Local Data Filter(
invisible,
Add Filter(columns(:Component, :Batch, :Source Table),
Where(:Component == numPar[i]),
Where(:Batch == {cyc, bat}),
Where(:Source Table == dt_name)
)
);
dt << Clear Select();
// Remove the filter display from the graph
gb << Show Control Panel(0);
// Report for changing plot
gbb = Report(gb)[GraphBuilderBox(1)];
// Add linear regression
gbb << Add Element(1, 1, {Type("Line Of Fit"), X, Y, Confidence of Fit(0), Equation(0)});
 
// Set Y axis
minval = min(:Result[dt << get rows where(:Component == numPar[i] & :Batch == cyc & :Source Table == dt_name | :Batch == bat & :Component == numPar[i] & :Source Table == dt_name)]) * 0.95;
maxval = max(:Result[dt << get rows where(:Component == numPar[i] & :Batch == cyc & :Source Table == dt_name | :Batch == bat & :Component == numPar[i] & :Source Table == dt_name)]) * 1.05;
maxvalts = max(:Time Point Months[dt << get rows where(:Component == numPar[i] & :Batch == cyc & :Source Table == dt_name | :Batch == bat & :Component == numPar[i] & :Source Table == dt_name)]) * 1.05;
gbb[AxisBox(1)] << min(-0.1);
gbb[AxisBox(1)] << max(maxvalts);
gbb[AxisBox(2)] << min(minval);
gbb[AxisBox(2)] << max(maxval);
gbb[AxisBox(2)] << inc((maxval - minval) / 10);
 
// Set Y axis label
unitList = Associative Array(:Result Unit[dt << get rows where(:Component == numPar[i] & :Batch == cyc & :Source Table == dt_name | :Batch == bat & :Component == numPar[i] & :Source Table == dt_name)]) << Remove("") << Get Keys;
If(N Items(unitList) == 1,
gbb[Text Edit Box(4)] << Set text(numPar[i] || " [" || unitList[1] || "]")
,
gbb[Text Edit Box(4)] << Set text(numPar[i])
);
 
 
// Set graph title
gbb[Text Edit Box(1)] << Set text(numPar[i] || " vs. Time Point");
// Append
//gbba = Report(gb),
col1 << Append(gb);
 
 
 
 
 
//filter << close;
gb << close window;
 
// Within the loop through parameters we are now also looping through batches
For(k = 1, k <= N Items( cyc ), k++, 
check = dt << get rows where(:Component == numPar[i] & :Batch == cyc[k] & :Source Table == dt_name | :Batch == bat[k] & :Component == numPar[i]  & :Source Table == dt_name);
if(N items(check) > 0, // Create check to see if parameter exist for current batch
// Create base plot
gb = Graph Builder(
//invisible,
Size( 700, 400 ),
Variables( X( :Time Point Months ), Y( :Result ), Overlay( :Batch ) ),
Elements( Points( X, Y),  )
);
gb << Local Data Filter(invisible, Add Filter( columns( :Component, :Batch, :Source Table ), Where( :Component == numPar[i] ),  Where( :Batch == {cyc[k], bat[k]}), Where( :Source Table == dt_name) ));
dt << Clear Select();
 
 
 
// Remove the filter display from the graph
gb << Show Control Panel( 0 );
 
 
// Report for changing plot
gbb = Report( gb )[GraphBuilderBox( 1 )];
 
// Add liniear regression
gbb << Add Element( 1, 1, {Type( "Line Of Fit" ), X, Y, Confidence of Fit( 0 ),Equation( 0 )} );
 
// Set Y axis
minval = min(:Result[dt << get rows where(:Component == numPar[i] & :Batch == cyc[k] & :Source Table == dt_name | :Batch == bat[k] & :Component == numPar[i]  & :Source Table == dt_name)])*0.95;
maxval = max(:Result[dt << get rows where(:Component == numPar[i] & :Batch == cyc[k]  & :Source Table == dt_name| :Batch == bat[k] & :Component == numPar[i]  & :Source Table == dt_name)])*1.05;
maxvalts = max(:Time Point Months[dt << get rows where(:Component == numPar[i] & :Batch == cyc[k]  & :Source Table == dt_name| :Batch == bat[k] & :Component == numPar[i]  & :Source Table == dt_name)])*1.05;
 
gbb[AxisBox(1)] << min(-0.1);
gbb[AxisBox(1)] << max(maxvalts);
gbb[AxisBox(2)] << min(minval);
gbb[AxisBox(2)] << max(maxval);
gbb[AxisBox(2)] << inc((maxval-minval)/10);
 
// Set Y axis label
unitList = Associative Array( :Result Unit[dt << get rows where(:Component == numPar[i] & :Batch == cyc[k]  & :Source Table == dt_name | :Batch == bat[k] & :Component == numPar[i]  & :Source Table == dt_name)] ) << Remove( "" ) << Get Keys;
 
If( N Items( unitList ) == 1,
gbb[Text Edit Box( 4 )] << Set text( numPar[i] || " [" || unitList[1] || "]" )
);
 
If( N Items( unitList ) != 1,
gbb[Text Edit Box( 4 )] << Set text( numPar[i] )
);
 
// Set graph titel
gbb[Text Edit Box( 1 )] << Set text( numPar[i] || " vs. Time Point ");
 
// Append
//gbba = Report( gbb );
col2 << Append( gbb );
 
//filter << close;
gb << close window;
 
// Start second plot
gb2 =  Graph Builder(
//invisible,
Size( 700, 400 ),
Variables( X( Time Point Months ), Y( :Difference ), Color( :Batch ) ),
Elements( Points( X, Y) )
);
gb2 << Local Data Filter(invisible, Add Filter( columns( :Component, :Batch, :Source Table ), Where( :Component == numPar[i] ),  Where( :Batch == cyc[k]), Where( :Source Table == dt5_name)));
dt4 << Clear Select();
 
 
// Remove the filter display from the graph
gb2 << Show Control Panel( 0 );
 
// Report for changing plot
gbb2 = Report( gb2 )[GraphBuilderBox( 1 )];
 
gbb2 << Add Element( 1, 1, {Type( "Line" ), X, Y} );
 
// Get the HC value
l_idx = dt4 << Get rows where(dt4:Component == numPar[i] & :Batch == cyc[k]);
ul = min(dt4:HC[l_idx]);
 
if(Ismissing(ul),
if(min(:Difference[dt << get rows where(:Component == numPar[i] & :Batch == cyc[k] & :Source Table == dt5_name)]) == 0,
minval = -5;
maxval = 5,
minval = min(:Difference[dt << get rows where(:Component == numPar[i] & :Batch == cyc[k] & :Source Table == dt5_name)])*0.95;
maxval = max(:Difference[dt << get rows where(:Component == numPar[i] & :Batch == cyc[k] & :Source Table == dt5_name)])*1.05;
),
minval = min(:Difference[dt << get rows where(:Component == numPar[i] & :Batch == cyc[k] & :Source Table == dt5_name)],-ul)*1.05;
maxval = max(:Difference[dt << get rows where(:Component == numPar[i] & :Batch == cyc[k] & :Source Table == dt5_name)], ul)*1.05;
);
 
if(!ismissing(ul), //if no HC value dont create limit line
gbb2[AxisBox(2)] << Add Ref Line(ul,"solid", black, char(round(ul,2)));
gbb2[AxisBox(2)] << Add Ref Line(-ul,"solid", black, char(round(-ul,2)));
);
 
gbb2[AxisBox(2)] << Add Ref Line(0,"Dashed");
gbb2[AxisBox(2)] << min(minval);
gbb2[AxisBox(2)] << max(maxval);
gbb2[AxisBox(2)] << inc((maxval-minval)/10);
 
//Append
//gbba2 = Report( gbb2 );
col3 << Append( gbba2 );
 
//filter << close;
gb2 << close window;
 
);
);
 
//);
tab = Tab Page Box(numPar[i],
        V List Box(
col1
H List Box( col2,col3 ) // Placing the two plots next to each other
 
)
);
tab << Title(numPar[i]);
//gb << title(Char(1));
gb_collector << Append(tab);
 
);
gb_collector << Dockable( 1 );
gb_collector << Set Overflow Enabled( 1 );
 
 
 
nw = New Window("My dashboard",
gb_collector
);

Here is my script.. 

 

Attached is a screenshot of my current dashboard, which contains 8 graphs. Here are my specific requirements for organizing these graphs:

  1. Keep the First Graph: I would like to retain the first graph as it is.
  2. Remove the Second Graph: The second graph should be removed from the dashboard.
  3. Pair the Last Six Graphs: The last six graphs should be paired such that each pair is displayed side by side. Specifically, the graphs should be organized as follows:
    • The third and fourth graphs should be displayed next to each other.
    • The fifth and sixth graphs should be displayed next to each other.
    • The seventh and eighth graphs should be displayed next to each other.

To summarize, the final layout should have the first graph followed by three pairs of graphs, with each pair displayed side by side.

jthi
Super User

Re: interactive plots

Those two scripts are totally different (also please use JSL formatting for JSL code it is much easier to read). What are you using Col Box for? What are you looping over (i and j)? What determines what information each of the graphs contains? Should they be interactive with each other?

-Jarmo