3D graphical representation

Before I dive into a new piece of code, I would like to ask the advice of some grumpy old men 
I would like to make a 3D intensity plot... I think that is the best way to describe it.
We will have a cube with a matrix of thermocouples throughout various locations.
I've gotten as far as getting all of the temperature values into a single array.
I need some advice from here.
Should I create a 4x4x4 array (if such a thing exists... I have no experience with anything beyond 2D)?
Also, what type of plot/graph/chart would you recommend?
Thanks!
Cory K
Solved!
Go to Solution.

Re-reading over my last post, it may not be that clear what I would like to do.
Here is a more thorough explination.
I would like to set up a plot in 3D.
I will have 16 x,y pairs, where the x will be the location of the point in the format
(x,y,z)
and the y will be the temperature.
So on the plot at the location (x,y,z) I would like the color to reflect the magnitude of the temperature
the same way it would on an intensity plot. The only difference would be that this is in 3D.
I hope that cleared up the problem a little bit.
Edit: I should also work on my math haha. It will not be 4x4x4. It will be 2x2x4
Message Edited by Cory K on 03-04-2010 01:39 PM
Cory K

Similar Messages

  • Graphical representation of standard SAP reports

    Hi,
    Can we get graphical representation of Standard SAP CO Reports? Is there any setting that has to be activated to get these? We are using FI, CO & MM.
    Regards,
    Sangeeta

    Dear Sangeeta,
    This refered report is prepared through report painter. Transaction code GRR1-2-3. Graphical representation facility is available only in drilldown reporting which was used in FI module but not in CO.e.g. to see & modify  GL related  repots transaction code is FSI2.Where in you can go to output type tab & you will find the option.
    As your query is relating to CO you can try transaction code GR11where you design the layout for report painter reports.This might help you.
    Else if your requirement is such that you want each details through graphycal representation you can use report interface which will direct to graphycaly represented report.
    Regards,
    Abhijit

  • List of Standard QM reports with Graphical Representation

    Dear Users
    Does any one have the list of Standard Quality Module Reports which have Graphical Representations also.
    Regards
    SAM

    Use T.codes QM10 To QM15 transaction codes.
    If you want to know more about QM reports
    Goto SAP easy access-->Information Systems -->Logistics -->Quality management
    here you will get list of standard reports
    Edited by: Sridhar Jayavarapu on Apr 2, 2009 8:42 AM

  • Graphical Representation in Abap

    Hi Abappers,
                      How to show Graphical Representation in Abap.If is possible plz send by showing examples.
    Regards,
    vani.

    Hi,
    The following FM's are  used to create graphs in SAP...
    You can execute them and check the paramters to be passed
    BUSG                           SAP Business Graphics
    GRAPH_2D                       Calling up the 2D business graphics
    GRAPH_2D_MENUE                 DO NOT USE (use 'GRAPH_2D' and 'GRAPH_BUSG_MENU_SET')
    GRAPH_3D                       Calling up the 3D presentation graphics
    GRAPH_BUSG_COLOR_SET           Definition of color pallets for business graphics
    GRAPH_BUSG_MENU_SET            Pushbutton menu (tool bar) for all BUSG modules
    GRAPH_MATRIX                   Calling up SAP Business Graphics (2D, 3D and 4D)
    GRAPH_MATRIX_2D                Calling up the 2D graphics (user-friendly version)
    GRAPH_MATRIX_3D                Structure of 3D graphics (user-friendly version)
    GRAPH_MATRIX_4D                Calling up a 3D graphic (4th dimension stacked representation)
    Regards
    Sk

  • Graphical representation for ME1P

    Hi
    I need to create a line graph between date and price of a material using transaction ME1P.
    For this i need to add a button on the application toolbar (PF Status) for choosing graphical representation and then display the result as a graph.
    Are their any screen exits or enhancement points for this?

    hi
    I am using transaction ME1P. MY requirement is that on executing this transaction, the data i get as output i need to download that into an excel file on the applicatin server. When I open the excel file, I should automatically get a graph between date and price.
    Downloading the data is possible through GUI_DOWNLOAD FM.
    How can i make the excel automatically show the data in graphical form?

  • Org Management graphical representation

    Hi
    I am trying to create org structure using expert mode method. created the realtionship to department wise position wise. But i am not able to view the graphical structure of the org chart.
    I have checked with my seniors as well. They are also unable to resolve the issue. I am not getting any error message but when i click on graphical view method. it automatically logsoff from the SAP.

    Hi Rashee,
    Use transction code PPOS _old _display then select the infotype you want to see graphically and click on graph (which is on top of your screen in Tool bar). You will get the graphical representation.

  • Graphical Representation

    Hi Experts,
    I have a discrete manufacturing scenario. What are the transactions in which I will be able to see the graphical representations of the production orders? Also, is the MF50 transaction limited only to the repetitive manufacturing scenario?
    Regards,
    Sachin

    Hi,
    Not sure if my interpretation of your query is correct, but if you want to do capacity leveling, then
    Work Center View
    CM21 (planning table - graphical)
    CM22 (planning table - tabular)
    Individual Capacity View
    CM27 (planning table - graphical)
    CM28 (planning table - tabular)
    Order View
    CM31 (planning table - graphical)
    CM23 (planning table - tabular)
    Also you may use CM25 - online & CM40 for background.
    Check if the above meets your need.
    Regards,
    Vivek

  • Print Graphical Representation of Binary Search Tree

    I need to print out a graphical representation of a binary search tree. Here is the source code I'm working with but it doesn't display the children correctly sometimes, especially with large trees.
    Stack globalStack = new Stack();
    globalStack.push(root);
    int nBlanks = 32;
    boolean isRowEmpty = false;
    System.out.println("************************************************");
    while (isRowEmpty == false) {
    Stack localStack = new Stack();
    isRowEmpty =true;
    for (int i=0; i < nBlanks; i ++);
    System.out.print(' ');
    while (globalStack.isEmpty()==false) {
    Node temp = (Node)globalStack.pop();
    if (temp != null) {
    System.out.print(temp.data);
    localStack.push(temp.leftChild);
    localStack.push(temp.rightChild);
    if (temp.leftChild != null || temp.rightChild != null)
    isRowEmpty = false;
    } else {
    System.out.print(" -- ");
    localStack.push(null);
    localStack.push(null);
    for (int i = 0 ; i < nBlanks*2-2; i++)
    System.out.print(' ');
    } //end while loop isEmpty is false
    System.out.println();
    nBlanks /= 2;
    while (localStack.isEmpty()==false)
    globalStack.push (localStack.pop());
    }//end while loop isRowEmpty is false
    System.out.println("************************************************");
    Here is an example (here the bottom children aren't aligned correctly)
                                    4
                    3                              20
             --                --               11              23
         --        --        --        --        --       15       --        --

    Well, using System.out is not really the best way for a Graphical representation...
    May be java.awt.Graphics would be far better, both for the programmer and the user of your application. And please use  tags when you post code, - makes it readable.

  • Graphical representation of Cisco Agent Desktop info

    I have a weird request of me. Someone want to have a more graphical representation of the real-time data on their Cisco Agent Desktop. I don;t know where to begin to be honest.
    Does anyone know of third party plug-in or something that I can be pointed to?
    Thanks!

    Assuming this is UCCX, with version 10 you will get CUIC real time reporting, which might solve the problem.
    Chris

  • Graphical representation order progress

    Hi
    where i can get graphical representation of prodcution order progress........

    Hi,
    After Executing in MD4C go to Menu -
    > LIst -
    > Graphic.
    So you will be able to have graphical view of the same.
    Hope this helps.
    Regards,
    Tejas

  • Graphical representation of report

    hi  ..
    How do we  provide  graphical representation of  report  output.

    Hi
    1st example
    report GRAPHICS_GUI_CE_DEMO.
    global data
    data: G_CE_CONTAINER type ref to CL_GUI_CUSTOM_CONTAINER.
    data: G_CE_NEW_CONTAINER type ref to CL_GUI_CUSTOM_CONTAINER.
    data: G_CE_VIEWER type ref to CL_GUI_CHART_ENGINE.
    data: G_CE_VIEWER_NEW type ref to CL_GUI_CHART_ENGINE.
    data: G_IXML type ref to IF_IXML.
    data: G_IXML_SF type ref to IF_IXML_STREAM_FACTORY.
    data: G_DESIGN_MODE type C.
    data: G_VALUE_CHANGE type C.
    data: G_SAVE_OKCODE like SY-UCOMM.
    dynpro data
    data: OKCODE like SY-UCOMM,
    GT_SFLIGHT type table of SFLIGHT,
    G_REPID like SY-REPID,
    G_MAX type I value 100,
    MYCONTAINER type SCRFNAME value 'NEW_CONTAINER',
    reference to custom container: neccessary to bind ALV Control
    CUSTOM_CONTAINER type ref to CL_GUI_CUSTOM_CONTAINER,
    GRID1 type ref to CL_GUI_ALV_GRID.
    'x_save' contains a flag to control which kind of a layout the user
    can save (see below).
    'gs_layout' identifies a layout. It must contain
    at least the report-id.
    § 1.Declare a structure of type DISVARIANT to identify a layout
    and a variable to define the saving options for users.
    data: X_SAVE, "for Parameter I_SAVE
    GS_LAYOUT type DISVARIANT. "for parameter IS_VARIANT
    event handler
    class LCL_CE_VIEWER_EH definition.
    public section.
    methods ON_CLICK for event CLICK of CL_GUI_CHART_ENGINE
    importing
    ELEMENT SERIES POINT.
    methods ON_VALUE_CHANGE for event VALUE_CHANGE of
    CL_GUI_CHART_ENGINE
    importing
    SERIES POINT VALUE.
    methods ON_PROPERTY_CHANGE for event PROPERTY_CHANGE of
    CL_GUI_CHART_ENGINE
    importing
    ELEMENT NAME VALUE.
    endclass. "lcl_ce_viewer_eh DEFINITION
    data: G_CE_VIEWER_EH type ref to LCL_CE_VIEWER_EH.
    data: G_CE_VIEWER_EH_NEW type ref to LCL_CE_VIEWER_EH.
    entry point
    start-of-selection.
    *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    start-of-selection.
    select * from SFLIGHT into table GT_SFLIGHT up to G_MAX rows.
    *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    clear GS_LAYOUT.
    create global objects
    G_IXML = CL_IXML=>CREATE( ).
    G_IXML_SF = G_IXML->CREATE_STREAM_FACTORY( ).
    G_REPID = SY-REPID.
    § 2.At least field REPORT of this structure has to be filled!
    GS_LAYOUT-REPORT = G_REPID.
    X_SAVE = 'A'. "The user may save all types of a layout
    call screen '100'.
    ENDREPORT GRAPHICS_GUI_CE_DEMO.
    *& Module STATUS_0100 OUTPUT
    text
    module STATUS_0100 output.
    data: L_IXML_DATA_DOC type ref to IF_IXML_DOCUMENT,
    L_IXML_CUSTOM_DOC type ref to IF_IXML_DOCUMENT,
    L_OSTREAM type ref to IF_IXML_OSTREAM,
    L_XSTR type XSTRING.
    set pf-status '100'.
    if G_CE_CONTAINER is initial.
    create object G_CE_CONTAINER
    exporting
    CONTAINER_NAME = 'CONTAINER'.
    create object G_CE_VIEWER
    exporting
    PARENT = G_CE_CONTAINER.
    create object G_CE_VIEWER_EH.
    set handler G_CE_VIEWER_EH->ON_CLICK for G_CE_VIEWER.
    set handler G_CE_VIEWER_EH->ON_VALUE_CHANGE for G_CE_VIEWER.
    set handler G_CE_VIEWER_EH->ON_PROPERTY_CHANGE for G_CE_VIEWER.
    perform CREATE_DATA_DEMO using L_IXML_DATA_DOC.
    L_OSTREAM = G_IXML_SF->CREATE_OSTREAM_XSTRING( L_XSTR ).
    call method L_IXML_DATA_DOC->RENDER
    exporting
    OSTREAM = L_OSTREAM.
    G_CE_VIEWER->SET_DATA( XDATA = L_XSTR ).
    clear L_XSTR.
    perform CREATE_CUSTOM_DEMO using L_IXML_CUSTOM_DOC.
    L_OSTREAM = G_IXML_SF->CREATE_OSTREAM_XSTRING( L_XSTR ).
    call method L_IXML_CUSTOM_DOC->RENDER
    exporting
    OSTREAM = L_OSTREAM.
    G_CE_VIEWER->SET_CUSTOMIZING( XDATA = L_XSTR ).
    endif.
    call method G_CE_VIEWER->RENDER.
    if CUSTOM_CONTAINER is initial.
    create a custom container control for our ALV Control
    create object CUSTOM_CONTAINER
    exporting
    CONTAINER_NAME = MYCONTAINER
    exceptions
    CNTL_ERROR = 1
    CNTL_SYSTEM_ERROR = 2
    CREATE_ERROR = 3
    LIFETIME_ERROR = 4
    LIFETIME_DYNPRO_DYNPRO_LINK = 5.
    if SY-SUBRC ne 0.
    add your handling, for example
    call function 'POPUP_TO_INFORM'
    exporting
    TITEL = G_REPID
    TXT2 = SY-SUBRC
    TXT1 = 'The control could not be created'(510).
    endif.
    create object GRID1
    exporting I_PARENT = CUSTOM_CONTAINER.
    § 4.Transfer your structure and your variable using parameters
    IS_VARIANT and I_SAVE of method set_table_for_first_display.
    call method GRID1->SET_TABLE_FOR_FIRST_DISPLAY
    exporting
    I_STRUCTURE_NAME = 'SFLIGHT'
    IS_VARIANT = GS_LAYOUT "&see below
    I_SAVE = X_SAVE "&see below
    I_DEFAULT = 'X'
    changing
    IT_OUTTAB = GT_SFLIGHT.
    & If you leave out the these parameters, the menu beneath
    the layout icon disappears.
    endif.
    endmodule. " STATUS_0100 OUTPUT
    *& Module USER_COMMAND_0100 INPUT
    text
    module USER_COMMAND_0100 input.
    G_SAVE_OKCODE = OKCODE.
    clear OKCODE.
    case G_SAVE_OKCODE.
    when 'DESIGN'.
    perform TOGGLE_DESIGN_MODE.
    when 'VALUE'.
    perform TOGGLE_VALUE_CHANGE.
    when 'SAVE'.
    perform SAVE_CUSTOMIZING.
    when 'PRINT'.
    perform PRINT.
    when 'EXIT'.
    leave program.
    when 'BACK'.
    leave program.
    endcase.
    endmodule. " USER_COMMAND_0100 INPUT
    *& IMPLEMENTATION
    text
    class CL_ABAP_CHAR_UTILITIES definition load.
    *& Form create_data_demo
    text
    form CREATE_DATA_DEMO using P_IXML_DOC type ref to IF_IXML_DOCUMENT.
    data: L_SIMPLECHARTDATA type ref to IF_IXML_ELEMENT,
    L_CATEGORIES type ref to IF_IXML_ELEMENT,
    L_SERIES type ref to IF_IXML_ELEMENT,
    L_ELEMENT type ref to IF_IXML_ELEMENT,
    L_ENCODING type ref to IF_IXML_ENCODING.
    P_IXML_DOC = G_IXML->CREATE_DOCUMENT( ).
    L_ENCODING = G_IXML->CREATE_ENCODING(
    BYTE_ORDER = IF_IXML_ENCODING=>CO_LITTLE_ENDIAN
    CHARACTER_SET = 'utf-8' ).
    P_IXML_DOC->SET_ENCODING( L_ENCODING ).
    L_SIMPLECHARTDATA = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'SimpleChartData' PARENT = P_IXML_DOC ).
    L_CATEGORIES = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'Categories' PARENT = L_SIMPLECHARTDATA ).
    L_ELEMENT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'C' PARENT = L_CATEGORIES ).
    L_ELEMENT->IF_IXML_NODE~SET_VALUE( '1st quarter' ).
    L_ELEMENT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'C' PARENT = L_CATEGORIES ).
    L_ELEMENT->IF_IXML_NODE~SET_VALUE( '2nd quarter' ).
    L_ELEMENT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'C' PARENT = L_CATEGORIES ).
    L_ELEMENT->IF_IXML_NODE~SET_VALUE( '3rd quarter' ).
    L_ELEMENT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'C' PARENT = L_CATEGORIES ).
    L_ELEMENT->IF_IXML_NODE~SET_VALUE( '4th quarter' ).
    L_SERIES = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'Series' PARENT = L_SIMPLECHARTDATA ).
    L_SERIES->SET_ATTRIBUTE( NAME = 'label' VALUE = 'Coffee' ).
    L_ELEMENT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'S' PARENT = L_SERIES ).
    L_ELEMENT->IF_IXML_NODE~SET_VALUE( '94' ).
    L_ELEMENT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'S' PARENT = L_SERIES ).
    L_ELEMENT->IF_IXML_NODE~SET_VALUE( '110' ).
    L_ELEMENT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'S' PARENT = L_SERIES ).
    L_ELEMENT->IF_IXML_NODE~SET_VALUE( '139' ).
    L_ELEMENT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'S' PARENT = L_SERIES ).
    L_ELEMENT->IF_IXML_NODE~SET_VALUE( '192' ).
    L_SERIES = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'Series' PARENT = L_SIMPLECHARTDATA ).
    L_SERIES->SET_ATTRIBUTE( NAME = 'label' VALUE = 'Espresso' ).
    L_ELEMENT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'S' PARENT = L_SERIES ).
    L_ELEMENT->IF_IXML_NODE~SET_VALUE( '35' ).
    L_ELEMENT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'S' PARENT = L_SERIES ).
    L_ELEMENT->IF_IXML_NODE~SET_VALUE( '39' ).
    L_ELEMENT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'S' PARENT = L_SERIES ).
    L_ELEMENT->IF_IXML_NODE~SET_VALUE( '38' ).
    L_ELEMENT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'S' PARENT = L_SERIES ).
    L_ELEMENT->IF_IXML_NODE~SET_VALUE( '59' ).
    endform. " create_data_demo
    *& Form create_custom_demo
    text
    form CREATE_CUSTOM_DEMO using P_IXML_DOC type ref to IF_IXML_DOCUMENT.
    data: L_ROOT type ref to IF_IXML_ELEMENT,
    L_GLOBALSETTINGS type ref to IF_IXML_ELEMENT,
    L_DEFAULT type ref to IF_IXML_ELEMENT,
    L_ELEMENTS type ref to IF_IXML_ELEMENT,
    L_CHARTELEMENTS type ref to IF_IXML_ELEMENT,
    L_TITLE type ref to IF_IXML_ELEMENT,
    L_ELEMENT type ref to IF_IXML_ELEMENT,
    L_ENCODING type ref to IF_IXML_ENCODING.
    P_IXML_DOC = G_IXML->CREATE_DOCUMENT( ).
    L_ENCODING = G_IXML->CREATE_ENCODING(
    BYTE_ORDER = IF_IXML_ENCODING=>CO_LITTLE_ENDIAN
    CHARACTER_SET = 'utf-8' ).
    P_IXML_DOC->SET_ENCODING( L_ENCODING ).
    L_ROOT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'SAPChartCustomizing' PARENT = P_IXML_DOC ).
    L_ROOT->SET_ATTRIBUTE( NAME = 'version' VALUE = '1.1' ).
    L_GLOBALSETTINGS = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'GlobalSettings' PARENT = L_ROOT ).
    L_ELEMENT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'FileType' PARENT = L_GLOBALSETTINGS ).
    L_ELEMENT->IF_IXML_NODE~SET_VALUE( 'PNG' ).
    L_ELEMENT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'Dimension' PARENT = L_GLOBALSETTINGS ).
    L_ELEMENT->IF_IXML_NODE~SET_VALUE( 'PseudoThree' ).
    L_ELEMENT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'Width' PARENT = L_GLOBALSETTINGS ).
    L_ELEMENT->IF_IXML_NODE~SET_VALUE( '640' ).
    L_ELEMENT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'Height' PARENT = L_GLOBALSETTINGS ).
    L_ELEMENT->IF_IXML_NODE~SET_VALUE( '360' ).
    L_DEFAULT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'Defaults' PARENT = L_GLOBALSETTINGS ).
    L_ELEMENT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'FontFamily' PARENT = L_DEFAULT ).
    L_ELEMENT->IF_IXML_NODE~SET_VALUE( 'Arial' ).
    L_ELEMENTS = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'Elements' PARENT = L_ROOT ).
    L_CHARTELEMENTS = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'ChartElements' PARENT = L_ELEMENTS ).
    L_TITLE = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'Title' PARENT = L_CHARTELEMENTS ).
    L_ELEMENT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'Extension' PARENT = L_TITLE ).
    L_ELEMENT->IF_IXML_NODE~SET_VALUE( 'href="sapevent:onclick?Title"' ).
    L_ELEMENT = P_IXML_DOC->CREATE_SIMPLE_ELEMENT(
    NAME = 'Caption' PARENT = L_TITLE ).
    L_ELEMENT->IF_IXML_NODE~SET_VALUE( 'Caffeine Consumption' ).
    endform. " create_custom_demo
    *& Form toggle_design_mode
    text
    form TOGGLE_DESIGN_MODE .
    data: L_WIN_CHART type ref to CL_GUI_CHART_ENGINE_WIN.
    catch system-exceptions MOVE_CAST_ERROR = 1.
    L_WIN_CHART ?= G_CE_VIEWER->GET_CONTROL( ).
    endcatch.
    if SY-SUBRC is initial.
    if G_DESIGN_MODE is initial.
    G_DESIGN_MODE = 'X'.
    else.
    G_DESIGN_MODE = ' '.
    endif.
    L_WIN_CHART->SET_DESIGN_MODE( FLAG = G_DESIGN_MODE EVENT = 'X' ).
    L_WIN_CHART->RESTRICT_CHART_TYPES( CHARTTYPES = 'Columns|Lines' ).
    L_WIN_CHART->RESTRICT_PROPERTY_EVENTS( EVENTS = 'ChartType' ).
    endif.
    endform. " toggle_design_mode
    *& Form toggle_value_change
    text
    form TOGGLE_VALUE_CHANGE .
    data: L_WIN_CHART type ref to CL_GUI_CHART_ENGINE_WIN.
    catch system-exceptions MOVE_CAST_ERROR = 1.
    L_WIN_CHART ?= G_CE_VIEWER->GET_CONTROL( ).
    endcatch.
    if SY-SUBRC is initial.
    if G_VALUE_CHANGE is initial.
    G_VALUE_CHANGE = 'X'.
    L_WIN_CHART->ENABLE_VALUE_CHANGE( ).
    else.
    G_VALUE_CHANGE = ' '.
    L_WIN_CHART->DISABLE_VALUE_CHANGE( ).
    endif.
    endif.
    endform. " toggle_value_change
    *& Form save_customizing
    text
    form SAVE_CUSTOMIZING .
    data: L_XML_CUSTOMIZING type W3HTMLTABTYPE,
    L_WIN_CHART type ref to CL_GUI_CHART_ENGINE_WIN,
    L_FILENAME type STRING,
    L_FILEPATH type STRING,
    L_FILESIZE type I,
    L_PATH type STRING.
    catch system-exceptions MOVE_CAST_ERROR = 1.
    L_WIN_CHART ?= G_CE_VIEWER->GET_CONTROL( ).
    endcatch.
    if SY-SUBRC is initial.
    L_WIN_CHART->GET_CUSTOMIZING(
    importing
    DATA_TABLE = L_XML_CUSTOMIZING
    describe table L_XML_CUSTOMIZING lines L_FILESIZE.
    multiply L_FILESIZE by 255.
    L_FILENAME = 'customizing.xml'.
    call method CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
    exporting
    DEFAULT_FILE_NAME = L_FILENAME
    changing
    FILENAME = L_FILENAME
    PATH = L_PATH
    FULLPATH = L_FILEPATH.
    if not L_FILEPATH is initial.
    call method CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
    exporting
    FILETYPE = 'BIN'
    FILENAME = L_FILEPATH
    BIN_FILESIZE = L_FILESIZE
    changing
    DATA_TAB = L_XML_CUSTOMIZING
    exceptions
    FILE_WRITE_ERROR = 1
    others = 22.
    endif.
    endif.
    endform. " save_customizing
    *& Form print
    text
    form PRINT .
    data: L_WIN_CHART type ref to CL_GUI_CHART_ENGINE_WIN,
    L_S_PRINT_PARAMETERS type PRI_PARAMS.
    call function 'GET_PRINT_PARAMETERS'
    exporting
    DESTINATION = 'LOCL'
    MODE = 'CURRENT'
    NO_DIALOG = ''
    importing
    OUT_PARAMETERS = L_S_PRINT_PARAMETERS
    VALID = L_VALID
    exceptions
    ARCHIVE_INFO_NOT_FOUND = 1
    INVALID_PRINT_PARAMS = 2
    INVALID_ARCHIVE_PARAMS = 3
    others = 4.
    if SY-SUBRC <> 0.
    BREAK USCGXS22.
    endif.
    catch system-exceptions MOVE_CAST_ERROR = 1.
    L_WIN_CHART ?= G_CE_VIEWER->GET_CONTROL( ).
    endcatch.
    if SY-SUBRC is initial.
    new-page print on parameters L_S_PRINT_PARAMETERS no dialog.
    L_WIN_CHART->PRINT( ).
    new-page print off.
    endif.
    endform. " print
    *& Clas lcl_ce_viewer_eh
    text
    class LCL_CE_VIEWER_EH implementation.
    method ON_CLICK.
    data: L_MSG type STRING,
    L_SERIES type STRING,
    L_POINT type STRING.
    L_SERIES = SERIES.
    L_POINT = POINT.
    concatenate 'Element clicked:'(M01) ELEMENT
    'Series:'(T01) L_SERIES
    'Point:'(T02) L_POINT
    into L_MSG separated by SPACE.
    message L_MSG type 'S'.
    endmethod. "on_click
    method ON_VALUE_CHANGE.
    data: L_MSG type STRING,
    L_SERIES type STRING,
    L_POINT type STRING,
    L_VALUE type STRING.
    L_SERIES = SERIES.
    L_POINT = POINT.
    L_VALUE = VALUE.
    concatenate 'Value changed:'(M02)
    'Series:'(T01) L_SERIES
    'Point:'(T02) L_POINT
    'Value:'(T03) L_VALUE
    into L_MSG separated by SPACE.
    message L_MSG type 'S'.
    endmethod. "on_value_change
    method ON_PROPERTY_CHANGE.
    data: L_MSG type STRING.
    concatenate 'Property changed:'(M03)
    'Element:'(T04) ELEMENT
    'Name:'(T05) NAME
    'Value:'(T03) VALUE
    into L_MSG separated by SPACE.
    message L_MSG type 'S'.
    endmethod. "on_property_change
    endclass. "lcl_ce_viewer_eh IMPLEMENTATION
    2nd Example:
    REPORT zmar_graphics .
    This program illustrates a call to SAP Business Graphics. *
    Each row in the DATA table contains one text label and a *
    single numeric value. *
    DATA: BEGIN OF data OCCURS 1,
    text(25),
    value TYPE p,
    END OF data.
    DATA: tcol1(5) VALUE '#1991'.
    DATA: title(25) VALUE 'Sales'.
    SET PF-STATUS 'GRAF'.
    data-text = 'Product_1'.
    data-value = 153470.
    APPEND data.
    data-text = 'Product_2'.
    data-value = 253150.
    APPEND data.
    data-text = 'Product_3'.
    data-value = 53470.
    APPEND data.
    data-text = 'Product_4'.
    data-value = 182000.
    APPEND data.
    data-text = 'Product_5'.
    data-value = 92410.
    APPEND data.
    WRITE: / 'Products',22 tcol1.
    SKIP 2.
    LOOP AT data.
      WRITE: / data-text, 12 data-value.
    ENDLOOP.
    PF11: Put out a 2D graphic *
    AT PF11.
      CALL FUNCTION 'GRAPH_2D'
           EXPORTING
                titl = title
           TABLES
                data = data.
    2nd Example:
    REPORT zmar_graphics1.
    Data for 2D-Modification
    DATA: BEGIN OF data OCCURS 1,
    text(25),
    value TYPE p,
    END OF data.
    DATA: tcol1(5) VALUE '#1993'.
    DATA: title(25) VALUE 'Merchandise 1993'.
    DATA: tit2(10) VALUE 'Product'.
    DATA: mod_row(5), mod_col(5), mod_val(20).
    DATA: m_typ, b_typ, busg_stat.
    FIELD-SYMBOLS: .
    data-text = 'Refrigerators'.
    data-value = 12345.
    APPEND data.
    data-text = 'Freezers'.
    data-value = 22222.
    APPEND data.
    data-text = 'Ovens'.
    data-value = 11111.
    APPEND data.
    data-text = 'Dishwashers'.
    data-value = 54321.
    APPEND data.
    PERFORM output_2d.
    AT PF08.
      busg_stat = space. "// start and wait
    Event-Loop
      DO.
        CALL FUNCTION 'GRAPH_2D'
             EXPORTING
                  stat       = busg_stat
                  inform     = '7'  "// allow modify
                  mail_allow = 'X'  "// allow mail
             IMPORTING
                  m_typ      = m_typ
                  b_typ      = b_typ
                  mod_row    = mod_row
                  mod_col    = mod_col
                  mod_val    = mod_val
             TABLES
                  data       = data.
        busg_stat = '4'. "// Just wait next time
        CASE m_typ.
          WHEN 'D'. "// Programm ended
            EXIT.
          WHEN 'I'. "// Valid message
            IF b_typ = 'M'. "// Modify-event
              READ TABLE data INDEX mod_row.
              ASSIGN COMPONENT mod_col OF STRUCTURE data TO  = mod_val.
              MODIFY data INDEX mod_row.
            ENDIF.
            IF b_typ = 'S'. "// Select-event (ignored)
            ENDIF. "// For element (MOD_ROW-MOD_COL)
        ENDCASE.
      ENDDO.
      PERFORM output_2d.
    FORM OUTPUT_2D (Show the actual data)
    FORM output_2d.
      WRITE: / 'Products',22 tcol1.
      SKIP 2.
      LOOP AT data.
        WRITE: / data-text, 22 data-value.
      ENDLOOP.
    ENDFORM.
    3rd Example:
    REPORT zmar_graphics3.
    DATA: BEGIN OF hpgl OCCURS 1,
    entry(128),
    END OF hpgl.
    hpgl = 'SP6;PUPA0,0;'. APPEND hpgl.
    hpgl = 'PDPA100,100,100,200,200,200,200,100,100,100;'. APPEND hpgl.
    hpgl = 'SP1;PUPA100,150;'. APPEND hpgl.
    hpgl = 'PDPA100,150,150,200,200,150,150,100,100,150;'. APPEND hpgl.
    CALL FUNCTION 'GRAPH_HPGL'
         TABLES
              data = hpgl.
    4th Example:
    REPORT zmar_graphics4.
    DATA: BEGIN OF objt OCCURS 1. "// Object Attributes
            INCLUDE STRUCTURE gpoobjt.
    DATA: END OF objt.
    DATA: BEGIN OF area_tab OCCURS 1. "// Areas (unused)
            INCLUDE STRUCTURE gpoarea.
    DATA: END OF area_tab.
    DATA: BEGIN OF col_text OCCURS 1, "// Value columns
    c(40),
    END OF col_text.
    DATA: BEGIN OF values OCCURS 1, "// Object fields
    p1 TYPE p,
    p2 TYPE p,
    p3 TYPE p,
    p4 TYPE p,
    p5 TYPE p,
    p6 TYPE p,
    p7 TYPE p,
    p8 TYPE p,
    p9 TYPE p,
    END OF values.
    DATA: BEGIN OF axis OCCURS 4.
            INCLUDE STRUCTURE gpoaxis.
    DATA: END OF axis.
    DATA save LIKE sy-tabix.
    SET PF-STATUS 'GRAF'.
    Constraints: Number of VALUES rows == Number of OBJT rows
    : Num of VALUES columns == Number of COL_TEXT rows
    Column title for $OBJD::VALTIT
    col_text = '% Market share'. APPEND col_text.
    col_text = '% Growth'. APPEND col_text.
    col_text = 'Sales'. APPEND col_text.
    col_text = 'Market share trend'. APPEND col_text.
    col_text = 'Growth trend'. APPEND col_text.
    col_text = 'Fixed costs'. APPEND col_text.
    col_text = 'Overhead costs'. APPEND col_text.
    col_text = 'Admin. costs'. APPEND col_text.
    col_text = 'Estimated profits'. APPEND col_text.
    Attributes for $AXIS
    axis-pos = 'RIGHT'.
    axis-backclr = 'DARKGRAY'.
    axis-textclr = 'WHITE'.
    axis-scalclr = 'WHITE'.
    axis-shadow = 'N'.
    axis-ticks = '50'.
    axis-start = '0'.
    axis-end = '100'.
    APPEND axis.
    axis-pos = 'TOP'.
    axis-backclr = 'DARKGRAY'.
    axis-textclr = 'WHITE'.
    axis-scalclr = 'WHITE'.
    axis-shadow = space.
    axis-ticks = '50'.
    axis-start = '0'.
    axis-end = '100'.
    APPEND axis.
    axis-pos = 'LEFT'.
    axis-backclr = 'DARKGRAY'.
    axis-textclr = 'WHITE'.
    axis-scalclr = 'WHITE'.
    axis-shadow = 'N'.
    axis-ticks = '10'.
    axis-start = '0'.
    axis-end = '100'.
    APPEND axis.
    axis-pos = 'BOTTOM'.
    axis-backclr = 'DARKGRAY'.
    axis-textclr = 'WHITE'.
    axis-scalclr = 'WHITE'.
    axis-shadow = 'N'.
    axis-ticks = '50'.
    axis-start = '0'.
    axis-end = '100'.
    APPEND axis.
    Objects
    *BJT-LINECLR = 'WHITE'.
    1. Trend line
    objt-form = 'RECTANGLE'.
    objt-fillclr = 'YELLOW'.
    objt-textclr = 'BLUE'.
    objt-title = 'Clarion 1990'.
    objt-info = 'Sales in 1990'.
    values-p1 = 10.
    values-p2 = 20.
    values-p3 = 10000.
    values-p4 = 22.
    values-p5 = 22.
    values-p6 = 400.
    values-p7 = 300.
    values-p8 = 200.
    values-p9 = 100.
    APPEND objt.
    APPEND values.
    objt-form = 'RECTANGLE'.
    objt-fillclr = 'YELLOW'.
    objt-textclr = 'BLUE'.
    objt-title = 'Clarion 1991'.
    objt-info = 'Sales in 1991'.
    values-p1 = 22.
    values-p2 = 22.
    values-p3 = 15000.
    values-p4 = 45.
    values-p5 = 35.
    values-p6 = 100.
    values-p7 = 200.
    values-p8 = 300.
    values-p9 = 400.
    APPEND objt.
    APPEND values.
    objt-form = 'RECTANGLE'.
    objt-fillclr = 'YELLOW'.
    objt-textclr = 'BLUE'.
    objt-title = 'Clarion 1992'.
    objt-info = 'Sales in 1992'.
    values-p1 = 45.
    values-p2 = 35.
    values-p3 = 22000.
    values-p4 = 62.
    values-p5 = 33.
    values-p6 = 20.
    values-p7 = 40.
    values-p8 = 80.
    values-p9 = 160.
    APPEND objt.
    APPEND values.
    objt-form = 'RECTANGLE'.
    objt-fillclr = 'YELLOW'.
    objt-textclr = 'BLUE'.
    objt-title = 'Clarion 1993'.
    objt-info = 'Sales in 1993'.
    values-p1 = 62.
    values-p2 = 33.
    values-p3 = 12000.
    values-p4 = 62.
    values-p5 = 33.
    values-p6 = 600.
    values-p7 = 700.
    values-p8 = 600.
    values-p9 = 700.
    APPEND objt.
    APPEND values.
    2. Trend line
    objt-form = 'CIRCLE'.
    objt-fillclr = 'GREEN'.
    objt-textclr = 'BLUE'.
    objt-title = 'Sony 1988'.
    objt-info = 'Sony UX400/CD, Sales in 1988'.
    values-p1 = 2.
    values-p2 = 50.
    values-p3 = 2500.
    values-p4 = 26.
    values-p5 = 57.
    values-p6 = 100.
    values-p7 = 700.
    values-p8 = 20.
    values-p9 = 50.
    APPEND objt.
    APPEND values.
    objt-form = 'CIRCLE'.
    objt-fillclr = 'GREEN'.
    objt-textclr = 'BLUE'.
    objt-title = 'Sony 1989'.
    objt-info = 'Sony UX400/CD, Sales in 1989'.
    values-p1 = 26.
    values-p2 = 57.
    values-p3 = 3500.
    values-p4 = 58.
    values-p5 = 70.
    values-p6 = 100.
    values-p7 = 600.
    values-p8 = 20.
    values-p9 = 70.
    APPEND objt.
    APPEND values.
    objt-form = 'CIRCLE'.
    objt-fillclr = 'GREEN'.
    objt-textclr = 'BLUE'.
    objt-title = 'Sony 1990'.
    objt-info = 'Sony UX400/CD, Sales in 1990'.
    values-p1 = 58.
    values-p2 = 70.
    values-p3 = 11000.
    values-p4 = 79.
    values-p5 = 68.
    values-p6 = 100.
    values-p7 = 500.
    values-p8 = 25.
    values-p9 = 90.
    APPEND objt.
    APPEND values.
    objt-form = 'CIRCLE'.
    objt-fillclr = 'GREEN'.
    objt-textclr = 'BLUE'.
    objt-title = 'Sony 1991'.
    objt-info = 'Sony UX400/CD, Sales 1991'.
    values-p1 = 79.
    values-p2 = 68.
    values-p3 = 13000.
    values-p4 = 87.
    values-p5 = 54.
    values-p6 = 100.
    values-p7 = 430.
    values-p8 = 45.
    values-p9 = 120.
    APPEND objt.
    APPEND values.
    objt-form = 'CIRCLE'.
    objt-fillclr = 'GREEN'.
    objt-textclr = 'BLUE'.
    objt-title = 'Sony 1992'.
    objt-info = 'Sony UX400/CD, Sales in 1992'.
    values-p1 = 87.
    values-p2 = 54.
    values-p3 = 13500.
    values-p4 = 80.
    values-p5 = 34.
    values-p6 = 90.
    values-p7 = 390.
    values-p8 = 44.
    values-p9 = 150.
    APPEND objt.
    APPEND values.
    objt-form = 'CIRCLE'.
    objt-fillclr = 'GREEN'.
    objt-textclr = 'BLUE'.
    objt-title = 'Sony 1993'.
    objt-info = 'Sony UX400/CD, Sales in 1993'.
    values-p1 = 80.
    values-p2 = 34.
    values-p3 = 23000.
    values-p4 = 80. "// Line to itself
    values-p5 = 34.
    values-p6 = 90.
    values-p7 = 370.
    values-p8 = 47.
    values-p9 = 165.
    APPEND objt.
    APPEND values.
    area_tab-form = 'RECTANGLE'.
    area_tab-fillclr = 'RED'.
    area_tab-xfrom = '10'.
    area_tab-yfrom = '70'.
    area_tab-xto = '40'.
    area_tab-yto = '90'.
    area_tab-title = 'Winner takes all'.
    APPEND area_tab.
    LOOP AT objt.
      WRITE: / objt-title(20).
      save = sy-tabix.
      READ TABLE values INDEX save.
      WRITE 25 values-p3.
    ENDLOOP.
    AT PF11.
      CALL FUNCTION 'GRAPH_PORT'
           EXPORTING
                title_title   = 'Trend-Portfolio for Sony and Clarion Radio'
                title_info    = 'The two objects over several years'
                title_textclr = 'YELLOW'
                title_backclr = 'DARKGRAY'
                title_size    = '2'
                frm_backclr   = 'GRAY'
                frm_cordclr   = 'WHITE'
                frm_scalclr   = 'WHITE'
                frm_scalmod   = 'LONGDASH'
                frm_gridx     = '10'
                frm_gridy     = '10'
                frm_shadow    = 'X'
                obj_xval      = '0'
                obj_yval      = '1'
                obj_sval      = '2'
                obj_xarr      = '3'
                obj_yarr      = '4'
           TABLES
                axis          = axis
                col_text      = col_text
                objt          = objt
                values        = values
                area_tab      = area_tab.[/code]
    Reward if usefull

  • Displaying graphical representation of data in hash tables as bar chart?

    I want to be able to display results in my hash table as a bar chart i don't know how to do it could someone help me I've looked through tutorials couldn't find any information that actually helped.
    In my program it doesnt allow matching the capital and small letters
    so for instance if I already have Mike it allows for me to input mike in again so there are 2 Mikes.
    I also want to do a simple user interface the tutorial for it is not simple to understand could any one tell me how to create a simple user interface like putting a button into a place wher i want it to be.
    im not asking anyone to do it for me i just want people to show me how to do it
    thank you
    Edited by: Tek_Hedef on Dec 1, 2007 4:30 AM

    Thanks for the ideas pal but I did have a go at it but my bit of code is making it crash but i removed it now so here's what I have so far
    import java.io.*;
    import java.util.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    class StudentDetails extends JFrame implements ActionListener
         private JTextField StudentNameTxt, StudentMarkTxt;
        private JButton DeleteStudentDetailsBtn, DisplayAllStudentsBtn, SearchStudentBtn, FailedStudentsBtn, PassedStudentsBtn, DistinctionStudentsBtn, AddStudentDetailsBtn, ExitBtn;
        private JPanel DisplayStudentDetailsPnl;
        private JLabel StudentNameLbl, StudentMarkLbl;
        private JTextArea DisplayResultsTxt;
        private Hashtable StudentDetailsTbl;
        private String StudentName, StudentMark;
        public static void main(String[] args)
            StudentDetails frame = new StudentDetails();
             frame.setSize(600,600);
            frame.createGUI();
            frame.setVisible(true);
        public void display(JPanel DisplayStudentDetailsPnl)
            Graphics paper = DisplayStudentDetailsPnl.getGraphics();
            paper.setColor(Color.white);
            paper.fillRect(0, 0, 500, 500);
            paper.setColor(new Color((int)(Math.random()*255),(int)(Math.random()*255),(int)(Math.random()*255) ));
        private void createGUI()
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            Container window = getContentPane();
            window.setLayout(new FlowLayout());
            StudentDetailsTbl = new Hashtable();
            StudentNameLbl = new JLabel("Student Name");
            window.add(StudentNameLbl);
            StudentNameTxt = new JTextField(15);
            window.add(StudentNameTxt);
            StudentMarkLbl = new JLabel("Student Mark");
            window.add(StudentMarkLbl);
            StudentMarkTxt = new JTextField(3);
            window.add(StudentMarkTxt);
            AddStudentDetailsBtn = new JButton("Add Student and Mark");
            window.add(AddStudentDetailsBtn);
            AddStudentDetailsBtn.addActionListener(this);
            DeleteStudentDetailsBtn = new JButton("Delete Student");
            window.add(DeleteStudentDetailsBtn);
            DeleteStudentDetailsBtn.addActionListener(this);
            DisplayAllStudentsBtn = new JButton("Display all Students and Marks");
            window.add(DisplayAllStudentsBtn);
            DisplayAllStudentsBtn.addActionListener(this);
            SearchStudentBtn = new JButton("Search Student");
            window.add(SearchStudentBtn);
            SearchStudentBtn.addActionListener(this);
            FailedStudentsBtn = new JButton("Students which Failed");
            window.add(FailedStudentsBtn);
            FailedStudentsBtn.addActionListener(this);
            PassedStudentsBtn = new JButton("Students which Passed");
            window.add(PassedStudentsBtn);
            PassedStudentsBtn.addActionListener(this);
            DistinctionStudentsBtn = new JButton("Students with Distinction");
            window.add(DistinctionStudentsBtn);
            DistinctionStudentsBtn.addActionListener(this);
            ExitBtn = new JButton("Exit");
            window.add(ExitBtn);
            ExitBtn.addActionListener(this);
            DisplayResultsTxt = new JTextArea();
            DisplayResultsTxt.setPreferredSize(new Dimension(200, 200));
            DisplayResultsTxt.setBackground(Color.white);
            window.add(DisplayResultsTxt);
            DisplayResultsTxt.enable(false);
        public void actionPerformed (ActionEvent e)
             if (e.getSource()== AddStudentDetailsBtn)
                  StudentName = StudentNameTxt.getText();
                   StudentMark = StudentMarkTxt.getText();
                  DisplayResultsTxt.setText("");
                  StudentDetailsTbl.put(StudentName, StudentMark);
                Enumeration enumStudentName = StudentDetailsTbl.keys();
                Enumeration enumStudentMark = StudentDetailsTbl.elements();
                String[] keys = (String[]) StudentDetailsTbl.keySet().toArray(new String[0]);       
                Arrays.sort(keys); 
                    for (String key : keys)
                         DisplayResultsTxt.append(key + " : " + StudentDetailsTbl.get(key)+ "\n");
                    StudentNameTxt.setText("");
                    StudentMarkTxt.setText("");
             if (e.getSource() == DeleteStudentDetailsBtn )
             if (StudentDetailsTbl.containsKey(StudentNameTxt.getText().trim()))
                  DisplayResultsTxt.setText("");     
                  String txt = StudentNameTxt.getText();
                Enumeration enumStudentName = StudentDetailsTbl.keys()  ;                   
                    String currentelement = (String)enumStudentName.nextElement();
                     StudentDetailsTbl.remove(txt);
                     DisplayResultsTxt.append(txt + " has been deleted");  
            if (e.getSource() == SearchStudentBtn)
            if (StudentDetailsTbl.containsKey(StudentNameTxt.getText().trim()))
                 String txt = StudentNameTxt.getText();
                 String result;
                 DisplayResultsTxt.setText("");
                 Enumeration enumStudentName = StudentDetailsTbl.keys();
                Enumeration enumStudentMark = StudentDetailsTbl.elements();
                   while (enumStudentName.hasMoreElements())
                        String currentelement = (String)enumStudentName.nextElement();
                    result = (StudentDetailsTbl.get(currentelement).toString());
                        if (txt.equals(currentelement))
                             DisplayResultsTxt.append(currentelement + " " + result);
                        else JOptionPane.showMessageDialog(null, "Student Name could not be identified");
            if (e.getSource() == DisplayAllStudentsBtn)
                  DisplayResultsTxt.setText("");
                 Enumeration enumStudentName = StudentDetailsTbl.keys();
                Enumeration enumStudentMark = StudentDetailsTbl.elements();
                while (enumStudentName.hasMoreElements())
                DisplayResultsTxt.append(enumStudentName.nextElement()+ " " + enumStudentMark.nextElement()+ "\n");
            if (e.getSource() == PassedStudentsBtn)
                 DisplayResultsTxt.setText("");
                 Enumeration enumStudentName = StudentDetailsTbl.keys();
                Enumeration enumStudentMark = StudentDetailsTbl.elements();
                while (enumStudentName.hasMoreElements())
                     int Mark = Integer.parseInt((String)enumStudentMark.nextElement());
                     String Name = (String)enumStudentName.nextElement();
                     if (Mark >=40)
                          DisplayResultsTxt.append(Name + " " + Mark + "\n");
            if (e.getSource() == FailedStudentsBtn)
                 DisplayResultsTxt.setText("");
                 Enumeration enumStudentName = StudentDetailsTbl.keys();
                Enumeration enumStudentMark = StudentDetailsTbl.elements();
                while (enumStudentName.hasMoreElements())
                     int Mark = Integer.parseInt((String)enumStudentMark.nextElement());
                     String Name = (String)enumStudentName.nextElement();
                     if (Mark <40)
                          DisplayResultsTxt.append(Name + " " + Mark + "\n");
            if (e.getSource() == DistinctionStudentsBtn)
                 DisplayResultsTxt.setText("");
                 Enumeration enumStudentName = StudentDetailsTbl.keys();
                Enumeration enumStudentMark = StudentDetailsTbl.elements();
                while (enumStudentName.hasMoreElements())
                     int Mark = Integer.parseInt((String)enumStudentMark.nextElement());
                     String Name = (String)enumStudentName.nextElement();
                     if (Mark >=75)
                          DisplayResultsTxt.append(Name + " " + Mark + "\n");
    }

  • Plug-in to see graphical representation of dimensions, cubes etc..

    Hi,
    1. In Internet Explorer, to see the various elements like RS, Dimensions, cubes and mappings etc, we need to install a plugin from adobe.com called SVG viewer, else we cant see any of the listed elements in the graphics tabs.
    I'm able to instal the plug-in and hence see the elements, but on the adobe site, its says SVG viewer is no longer supported by adobe, though we can download it.
    So, is there some other plugin or add-on that can be used for the purpose, which is not discontinued, if so, what is that.
    This is not a show-stopper, but I'm just curious.
    Thanks,
    Srinivas.
    Edited by: user5610149 on Apr 9, 2010 6:48 PM

    When Adobe says that SVG viewer is not supported, all that means is that Adobe is not going to release any new patches or releases for SVG viewer. The last version available on their site still works with IOP. Over time, this svg viewer will get replaced with the Oracle EPM specific addins.

  • URGENT!! Graphical representation of functions

    Hello,
    I am developing an application that calculates the fatigue life of a material. To do this I need to draw concurrent graphs of some equations.
    The problems are the following:
    - I need to have a cursor running along the lines (and possibly around the surface
    - I need to fill the areas between the lines with a specific color
    The above graphs need to change dynamically when the user changes the values through controls that are going to be provided in the GUI.
    Can somebody help me because I am lost in various complex scientific visualization libraries.
    Thanks in advance

    I'm developing numerical simulation of a physical phenomena and needed similar features as you describe. To fill the closed area you can look into the Graphics class and check out the different version of the fill method. To have that cursor running you can use a separate thread. Let me know if you need fruther help.
    Nikita

  • Graphical representation of recursion (swing)

    Hi Guys, I'm new to GUI programming, i hope i'll get some help on this.
    When i'm calling repaint() from putDisk() method, window doesn't show up at all.
    I managed to draw disks before and after algorithm execution, but i can't get animation to work.
    Help?
    Main.java:
    package p1;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    public class Main extends JFrame{
        JPanel towers = new TowersOfHanoi();
        /** CTOR
        public Main() {
            super("Towers of hanoi");
            setContentPane(towers);
        public static void main(String[] args) {
            JFrame.setDefaultLookAndFeelDecorated(false);
            JFrame win = new Main();
            win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            win.setSize(400, 320);
            win.setLocationRelativeTo(null);
            win.setResizable(false);
            win.setVisible(true);
    }

    TowersOfHanoi.java
    package p1;
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JPanel;
    import javax.swing.Timer;
    public class TowersOfHanoi extends JPanel {
       private static Color BORDER_COLOR = new Color(0,0,255);
       private static Color DISK_COLOR = new Color(0,0,180);
       private static Color MOVE_DISK_COLOR = new Color(180,180,255);
       private int BASE_WIDTH = 0;
       private int BASE_HEIGHT = 10;
       private int[][] tower;
       private int[] towerHeight;
       private int moveDisk;
       private int moveTower;
       private int putDiskNum;
       private int putDiskT;
       private Color putDiskColor;
       private boolean putDiskFlag = false;
       private Timer time;
        public TowersOfHanoi() {
            // Timer
            time = new Timer(200, new ActionListener() {
                public void actionPerformed(ActionEvent ae) {
                    if (moveDisk > 0)
                        repaint();
            init();
            time.start();
      @Override protected void paintComponent(Graphics g)
          drawFrame(g);
    private void drawFrame(Graphics g) {
          Graphics2D g2d = (Graphics2D) g;
          BASE_WIDTH = this.getWidth()/3-10;
          g2d.setColor(BORDER_COLOR);
          g2d.drawRect(0,200,this.getWidth()-2,92);
          g2d.drawRect(1,201,this.getWidth()-2,92);
          g2d.fillRect(10,this.getHeight()-15,BASE_WIDTH,BASE_HEIGHT);
          g2d.fillRect(BASE_WIDTH+15,this.getHeight()-15,BASE_WIDTH,BASE_HEIGHT);
          g2d.fillRect(2*BASE_WIDTH+20,this.getHeight()-15,BASE_WIDTH,BASE_HEIGHT);
          g2d.setColor(DISK_COLOR);
          if (tower == null) {
              System.out.println("Tower=null!!!");
              return;
          for (int t = 0; t < 3; t++) {
             for (int i = 0; i < towerHeight[t]; i++) {
                int disk = tower[t];
    System.out.println("Drawing disks!");
    g2d.fillRoundRect(65+140*t - 5*disk - 5, 268-12*i, 10*disk+10, 10, 10, 10);
    if (moveDisk > 0) {
    g2d.setColor(MOVE_DISK_COLOR);
    g2d.fillRoundRect(65+140*moveTower - 5*moveDisk - 5, 268-12*towerHeight[moveTower],
    10*moveDisk+10, 10, 10, 10);
    System.out.println("Disk moved!");
    if (putDiskFlag) {
    g2d.setColor(putDiskColor);
    g2d.fillRoundRect(65+140*putDiskT - 5*putDiskNum - 5, 268-12*towerHeight[putDiskT], 10*putDiskNum+10, 10, 10, 10);
    putDiskFlag = false;
    System.out.println("Put disk!");
    private void init() {
    repaint();
    tower = null;
    tower = new int[3][4];
    for (int i = 0; i < 4; i++)
    tower[0][i] = 4 - i;
    towerHeight = new int[3];
    towerHeight[0] = 4;
    repaint();
    solve(4,0,1,2);
    repaint();
    * Logic
    private void putDisk(Color color, int disk, int t) {
    putDiskColor = color;
    putDiskNum=disk;
    putDiskT=t;
    putDiskFlag = true;
    private void moveDisk(int fromStack, int toStack) {
    moveDisk = tower[fromStack][towerHeight[fromStack]-1];
    moveTower = fromStack;
    System.out.println("moveDisk="+moveDisk + " MoveTower="+moveTower );
    towerHeight[fromStack]--;
    putDisk(MOVE_DISK_COLOR,moveDisk,moveTower);
    putDisk(BORDER_COLOR,moveDisk,moveTower);
    moveTower = toStack;
    putDisk(MOVE_DISK_COLOR,moveDisk,moveTower);
    putDisk(DISK_COLOR,moveDisk,moveTower);
    tower[toStack][towerHeight[toStack]] = moveDisk;
    towerHeight[toStack]++;
    moveDisk = 0;
    private void solve(int disks, int from, int to, int spare) {
    if (disks == 1)
    moveDisk(from,to);
    else {
    solve(disks-1, from, spare, to);
    moveDisk(from,to);
    solve(disks-1, spare, to, from);
    Edited by: cubi on Jan 17, 2009 5:45 PM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • How can I limit workspace in 2D array graphic representation?

    Hello,
    I have an 2D array and I would like to visualize it as a 2D grayscale map. What function would be suitable for that? Also, I would like to give user to ability to limit the workspace by encircling the desired area with a mouse and removing the rest. Is it even possible? I know I can set the limitations in numeric controls and just "cut" the sides of my map but can it be done with a mouse?

    (LabVIEW is a full featured programming envorinment, so everything is possible!)
    As a display, I would recommend an intensity graph with a greyscale Z color ramp. You can use mouse events to interact with it and dynamically modify the displayed array data.
    Another possibility would be a picture indicator.
    LabVIEW Champion . Do more with less code and in less time .

Maybe you are looking for

  • Is there a way to approve documents sent to my printer before they print?

    I have a printer connected to my time capsule which is bridged to the wi-fi network at my house. I showed my roommates how to print to it, but they keep accidentally sending documents to my printer instead of theirs. Is there a way I could make it so

  • My phone number disapeared under IMessage

    my phone number doesn't show up under the "send and receive" option under messages

  • QUOTED STRINGS SQLPLUS

    Hi, Maybe someone can help me out. For some reason when I copy and paste a query into sqlplus the single quotes now become periods. Could someone please tell me which parameter in sqlplus I need to change and what that command is? ex select text from

  • How to upload multiple company codes data for single vendor by LSMW Idoc

    Hi , My requ is like this. uploading data by LSMW Idoc method In source file we have two company codes data for single vendor. It should create vendor for two company codes. But its not creating its showing error. How to handle this? Thanks in Advanc

  • Poor sound quality on ipod and G4

    The last three albums i have downloaded from itunes music store have poor sound quality. On both my G4 and my ipod the songs have a lot of noise. They sound as though the speakers are blown, or the eq is maxed. All my songs prior to these last three