ADF Line Graph with dynamic series - can do ?

I want to implement a drill-down from a high level line graph into a lower level line graph. The master graph may have 4 series in it, and each of these 4 series may have 6 - 8 different sub-series that need to be shown in the lower level graph (so up to 30 in all sub-series). Rather than create 4 of the lower level graphs, what I'd like to be able to do is create the lower level graph once using a VO which reads the master graph context. The definition of a graph model however in the ADF at first glance doesn't appear to cater for this. Have others done this ?
Thinking that if I could:
a) define the detail VO so that it used generic columns for the series amounts
b) was able to override the series attribute name/label used for the legend etc. by way of code (backing bean?) for each series again based on context
c) was able to optionally hide a series that was not needed (as defined by the generic detail VO) for a given master context
... then maybe I'd have a chance. But b) and c) don't look catered for.
Anyone?
Using 11.1.

For the record, I gave this a go, and was able to get it working satisfactorily. There was no way as far as I could tell to set the visibility of a series. So essentially, what I've been able to do is set the series label to blank, set the line width to 1 (min, doesn't seem to honor 0), and the color to white to match the background of the chart ... for those series that are superfluous in a given chart render. It works fine except for the fact that if you've used the highlight rollover series effect, if you move the mouse over the legend area where the "hiding" series are, you get a bit of flashing on the legend entries that are displayed.
Ideally, we'd have a way of actually taking these out entirely. If there's a way to do it, I'd be interested in hearing about it.
Thanks.

Similar Messages

  • Line Graph with Multiple Series not displayed(Install Missing Plugins)

    Hi All,
    I have created a Graph - Line Graph.
    I have created more then one Series.
    The graph is not being displayed, it asks to download missing plugins.
    Where as when I have a singe chart series the graph is displayed.
    What are the missing plugins, where can I find those.
    I am using Mozilla 5.0.
    Regards
    Arif Khadas

    Please Help!

  • ADF Line Graph

    Hello,
    I have a graph which i bind to backing bean private List<Object[]> graphTabularData. I am able to get the points from the adf line graph on clickListener only for the data that exist in the private List<Object[]> graphTabularData.
    Is it possible to get the x-axis and y-axis values on the line graph where a data point doesn't exist in the private List<Object[]> graphTabularData; so then I can use those points to insert it in the
    private List<Object[]> graphTabularData; to create a new point ?
    Thanks a lot.
    Regards,
    Valon

    Hi Frank,
    I agree with that statement. However, I am not trying to edit data.
    I just need to know if it's possible to create a new point in the line graph by clicking on the line where no data points (mapping) exist ?
    Thanks.
    Edited by: Valon on Oct 31, 2012 5:57 AM

  • Line Chart with Multiple Series

    Post Author: JayZee
    CA Forum: Charts and Graphs
    HI
    I am trying to create a line chart with multiple series for trend analysis on CR XI but not having much luck, I thought it would be so simple to do!
    My data is provided summarized on the server and is returned as 12 rows:
    Month       Year1        Year2      Year3      Year4     Year5January      100           80          75           90          120February      85           25           40           25          80etc for the rest of the months
    My problem is that I can only get the chart to accept the values to display as a summary and not just as the data pulled back from the server.  I have read an article on the support site for Crystal 6.0  but it doesn't seem to translate well into XI.
    If necessary I could redesign the table to bring back un-summarized data but that is quite a big job.
    Any help greatly appreciated.
    Jay

    Post Author: Tim Wise
    CA Forum: Charts and Graphs
    In the chart expert, put Month in the 'On change of' box and put each year in the 'Show values' box. This puts the month on the x-axis and plots each year as a line.
    Is that what you want?
    I did this in CR 2008 using your data in an Excel sheet.

  • Exporting from a 2D line graph with .jpeg extension

    Is there any way to export from an ordinary 2D line graph with .jpeg extension so that with using this image i will improve my result of exporting excel.
    e.g. i have found and example and added a button as you will see when you run this code.I will click this button and it will export this line graph with extension .jpeg so that i will see it as an ordinary image at my home directory.
    Thanks for any helpful comment
    Regars,
    Serhat
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    * @author led1433
    import java.awt.*;
    import java.awt.font.*;
    import java.awt.geom.*;
    import javax.swing.*;
    public class LineGraph
        public static void main(String[] args)
            int x1 = 1000,y1 = 0;
            JFrame f = new JFrame();
            JButton exportToJPegButton = new JButton("EXPORT WITH JPEG");
            exportToJPegButton.setToolTipText("Exports Graph with extension *jpeg");
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            exportToJPegButton.setSize(200,25);
            f.add(exportToJPegButton).setLocation(x1, y1);
            f.getContentPane().add(new GraphPanel());
            f.setSize(400,400);
            f.setLocation(200,200);
            f.setVisible(true);
    class GraphPanel extends JPanel
        final int
            HPAD = 60,
            VPAD = 40;
        int[] data;
        Font font;
        public GraphPanel()
            data = new int[] {
                120, 190, 211, 75, 30, 290, 182, 65, 85, 120, 100, 101
            font = new Font("lucida sans regular", Font.PLAIN, 16);
            setBackground(Color.white);
        protected void paintComponent(Graphics g)
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D)g;
            g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                                RenderingHints.VALUE_ANTIALIAS_ON);
            g2.setFont(font);
            FontRenderContext frc = g2.getFontRenderContext();
            int w = getWidth();
            int h = getHeight();
            // scales
            float xInc = (w - HPAD - VPAD) / 11f;
            float yInc = (h - 2*VPAD) / 10f;
            int[] dataVals = getDataVals();
            float yScale = dataVals[2] / 10f;
            // ordinate
            g2.draw(new Line2D.Double(HPAD, VPAD, HPAD, h - VPAD));
            // tic marks
            float x1 = HPAD, y1 = VPAD, x2 = HPAD - 3, y2;
            for(int j = 0; j < 10; j++)
                g2.draw(new Line2D.Double(x1, y1, x2, y1));
                y1 += yInc;
            // labels
            String text; LineMetrics lm;
            float xs, ys, textWidth, height;
            for(int j = 0; j <= 10; j++)
                text = String.valueOf(dataVals[1] - (int)(j * yScale));
                textWidth = (float)font.getStringBounds(text, frc).getWidth();
                lm = font.getLineMetrics(text, frc);
                height = lm.getAscent();
                xs = HPAD - textWidth - 7;
                ys = VPAD + (j * yInc) + height/2;
                g2.drawString(text, xs, ys);
            // abcissa
            g2.draw(new Line2D.Double(HPAD, h - VPAD, w - VPAD, h - VPAD));
            // tic marks
            x1 = HPAD; y1 = h - VPAD; y2 = y1 + 3;
            for(int j = 0; j < 12; j++)
                g2.draw(new Line2D.Double(x1, y1, x1, y2));
                x1 += xInc;
            // labels
            ys = h - VPAD;
            for(int j = 0; j < 12; j++)
                text = String.valueOf(j + 1);
                textWidth = (float)font.getStringBounds(text, frc).getWidth();
                lm = font.getLineMetrics(text, frc);
                height = lm.getHeight();
                xs = HPAD + j * xInc - textWidth/2;
                g2.drawString(text, xs, ys + height);
            // plot data
            x1 = HPAD;
            yScale = (float)(h - 2*VPAD) / dataVals[2];
            for(int j = 0; j < data.length; j++)
                y1 = VPAD + (h - 2*VPAD) - (data[j] - dataVals[0]) * yScale;
                if(j > 0)
                    g2.draw(new Line2D.Double(x1, y1, x2, y2));
                x2 = x1;
                y2 = y1;
                x1 += xInc;
        private int[] getDataVals()
            int max = Integer.MIN_VALUE;
            int min = Integer.MAX_VALUE;
            for(int j = 0; j < data.length; j++)
                if(data[j] < min)
                    min = data[j];
                if(data[j] > max)
                    max = data[j];
            int span = max - min;
            return new int[] { min, max, span };
    }

    GraphPanel stays the same.
    public class JpegExport {
        public static void main(String[] args) {
            final GraphPanel graphPanel = new GraphPanel();
            JButton exportToJPegButton = new JButton("EXPORT WITH JPEG");
            exportToJPegButton.setToolTipText("Exports Graph with extension *jpeg");
            exportToJPegButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    exportToJpeg(graphPanel);
            JFrame f = new JFrame();
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.getContentPane().add(exportToJPegButton, BorderLayout.NORTH);
            f.getContentPane().add(graphPanel, BorderLayout.CENTER);
            f.setSize(400, 400);
            f.setLocationRelativeTo(null);
            f.setVisible(true);
        private static void exportToJpeg(GraphPanel graphPanel) {
            try {
                int w = graphPanel.getWidth();
                int h = graphPanel.getHeight();
                BufferedImage image = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
                Graphics2D g2 = image.createGraphics();
                graphPanel.paint(g2);
                g2.dispose();
                ImageIO.write(image, "jpeg", new File("export.jpg"));
            } catch (IOException e) {
                e.printStackTrace();
    }

  • Can I draw a k-line graph with jfreechart for a Mac app on 10.8?

    Hi,
      I want to draw a k-line graph on mac, and I haven't find a lib better than jfreechart on doing that work until now, so how can I use it in xcode?
    Regards

    I believe this version works in 10.6.8.
    http://support.apple.com/kb/DL1507

  • Xy graph with dynamic number of plots

    I've got an XY Graph with some dynamic number of plots to graph. Once I know this number, I change the LegPlots property and plot the data from an array containing all the plots. The data is displayed correctly, but I get overlapping colors. Say I'm only trying to graph 3 plots. I get three lines (good) but then the three lines have 29 colors (bad), as if it's plotting all possible plots at the data points of the three. The legend updates to only show three (good), but am I missing something else? Does the LegPlot property not govern that, but only governs the legend itself?

    If the problem is the code then I'll take a look at my mess of wire, I just wanted to see if it was the LegPlots property first.
    Here's what it looks like, just in case
    Attachments:
    toomanycolors1.JPG ‏25 KB

  • ClickListener in ADF Line graph

    Hello,
    Is it possible to get the x-axis and y-axis values (i.e.coordinates) of the line graph if user clicks in a line area between points (not the point itself)?
    I can get the x-axis and y-axis values if I click on point in a line as follows:
        public void graphClickListener(ClickEvent clickEvent)
            ComponentHandle handle = clickEvent.getComponentHandle();
            if (handle instanceof DataComponentHandle)
                DataComponentHandle dhandle = (DataComponentHandle)handle;
                Object val = dhandle.getValue(DataComponentHandle.UNFORMATTED_VALUE);
                Date timeVal = null;
               Attributes[] seriesInfo = dhandle.getSeriesAttributes();
                if (seriesInfo != null && seriesInfo.length > 0)
                    Object seriesName = seriesInfo[0].getValue(Attributes.LABEL_VALUE);
                       Attributes[] groupInfo = dhandle.getGroupAttributes();
                        if (groupInfo != null && groupInfo.length > 0)
                            Object timeObj = groupInfo[0].getValue(Attributes.LABEL_VALUE);
                            if (timeObj != null)
                                timeVal = new Date(((Date)timeObj).getTime());
    //However when I click on a line area between the points (not the point itself) then I can get only the series name information, not the x-axis and y axis value:
            else if (handle instanceof SeriesComponentHandle)
                // Get the series attributes
                Attributes[] seriesInfo = ((SeriesComponentHandle)handle).getSeriesAttributes();
                String data = "";
                if (seriesInfo != null)
                    for (Attributes attrs : seriesInfo)
                        data += "\nSeries value: " + attrs.getValue(Attributes.LABEL_VALUE);
                        data += "\nSeries name: " + attrs.getValue(Attributes.LABEL_ATTRIBUTE);
                        data += "\nSeries value id: " + attrs.getValue(Attributes.ID_VALUE);
                        data += "\nSeries name id: " + attrs.getValue(Attributes.ID_ATTRIBUTE);
                System.out.println(data);
    Following is the source of the jsf file:
              <dvt:graph id="lineGraph1" animationOnDisplay="auto"
                         tabularData="#{pageFlowScope.gaphPageStateBean_backing.graphTabularData}"
                         customToolTipCallback="#{pageFlowScopegraphPageStateBean_backing.callback}"
                         graphType="LINE_VERT_ABS"
                         seriesObjectCount="#{pageFlowScope.graphPageStateBean_backing.seriesCount}"
                         timeRangeStart="#{pageFlowScope.graphPageStateBean_backing.graphStartDate}"
                         timeRangeEnd="#{pageFlowScope.graphPageStateBean_backing.graphEndDate}"
                         timeAxisInterval="CTAI_MINUTE" timeRangeMode="TRM_EXPLICIT"
                         partialTriggers="::commandLink1 ::t1:cb7"
                         binding="#{backingBeanScope.graphPageBean_backing.graphBinding}"
                         clickListener="#{backingBeanScope.graphPageBean_backing.graphClickListener}"
                         timeAxisType="TAT_IRREGULAR" textAntialiasing="true"
                         scrollListener="#{backingBeanScope.graphPageBean_backing.scrollListener}"
                         zoomListener="#{backingBeanScope.graphPageBean_backing.zoomListener}"
                         markerTooltipType="MTT_VALUES_TEXT">
                <dvt:background/>
                <dvt:graphPlotArea/>
                <dvt:seriesSet defaultLineWidth="3" defaultMarkerColor="#ffffff"
                               seriesMap="#{pageFlowScope.graphPageStateBean_backing.lineGraphSeriesMap}"
                               markerDisplayed="true"
                               defaultMarkerShape="MS_CIRCLE"/>
                <dvt:o1Axis id="rhrhtr6" scrolling="on"/>
                <dvt:y1Axis id="fwef43" lineWidth="1" axisMaxValue="1.0"
                            axisMinValue="0.0" logarithmicBase="10"/>
                <dvt:legendArea automaticPlacement="AP_NEVER" rendered="false"/>
                <dvt:o1TickLabel id="o1TickLabel1" tickLabelSkipCount="50"
                                 tickLabelSkipMode="TLS_MANUAL"
                                 tickLabelSkipFirst="0"/>
                <dvt:y1MajorTick id="y1MajorTick1"
                                 tickStyle="#{pageFlowScope.gaphPageStateBean_backing.YAxisTickLine}"/>
                <dvt:y1TickLabel rendered="false"/>
                <dvt:shapeAttributesSet id="shapeAttribSet1">
                  <dvt:shapeAttributes component="GRAPH_AREAMARKER" clickable="true"
                                       id="shapeAttrib1"/>
                </dvt:shapeAttributesSet>
                <dvt:timeAxisDateFormat timeFormat="HOUR24_MINUTE"
                                        yearFormat="YEAR_LONG"
                                        monthFormat="MONTH_SHORT"
                                        quarterFormat="NONE"/>
                <dvt:o1Title text="Time:" horizontalAlignment="LEFT">
                  <dvt:graphFont id="graphFont1" underline="true" color="#002173"/>
                </dvt:o1Title>
                <dvt:annotationSet annotationMap="#{pageFlowScope.graphPageStateBean_backing.graphAnnotationMap}"/>
              </dvt:graph>
    Thank you.
    Valon
    Jdeveloper 11.1.1.5.0
    af:graph

    I use af:graph instead of af:lineGraph because the tooltip needs some special customization which af:lineGraph doesn't support.
    Just for the sake of the question, I converted the graph to af:lineGraph and I set clickListener in dvt:shapeAttributes as well. It didn't make any difference.
    When I click in a line area outside of a point the clickListener gets invoked, however it is not useful since I cannot obtain x and y coordinates.
    It goes in the else if section of the code i provided on top of this page. I.e. else if (handle instanceof SeriesComponentHandle) {............}.
    My question remains un-answered yet.
    Thank you,

  • Line graph with single values as dots

    Dear Apex experts,
    I have the requirement to create a graph in Apex which displays technical values as dots or candles and limit values and average values as lines in one graph.
    Is there a way to create two types of graphs in one image ?
    Best regards,
    Daniel

    Hi,
    as far as I know, you can't have interruptes series in the DVT line graph
    Frank

  • ADF Line Graph Major Tick Line Extended

    Hello,
    I am having hard time showing the vertical lines in the background of the af:graph.
    The vertical lines in the graph are controlled by the following component:
    <dvt:o1MajorTick lineWidth="1" tickStyle="GS_EXTENDED" lineStyle="LS_SOLID"/>
    My o1axis (i.e. x-axis) is of java.util.Date type. I can see that dvt:o1MajorTick is effected by the timeAxisType attribute of af:graph. If timeAxisType attribute is TAT_DEFAULT then the vertical lines are showing. But if it is TAT_IRREGULAR then the vertical lines are not showing.
    My graph needs to use TAT_IRREGULAR timeAxisType and my graph consists of multi series.
    Is it possible to show the vertical lines (i.e. to make this work <dvt:o1MajorTick lineWidth="1" tickStyle="GS_EXTENDED" lineStyle="LS_SOLID"/> ) with timeAxisType of TAT_IRREGULAR ?
    Note: Y-axis horizontal lines (i.e. <dvt:y1MajorTick tickStyle="GS_EXTENDED" lineWidth="1" lineStyle="LS_SOLID"/> ) are working fine.
    Thanks a lot.
    Valon
    Edited by: Valon on Nov 5, 2012 6:42 AM

    Is the question clear ?
    The requirement is to display the grid lines in the background of af:graph.
    I've tried all the possible configuration options of dvt:o1MajorTick tickStyles, i.e. GS_EXTENDED, GS_GRID etc.
    When timeAxisType attribute of af:graph is set to TAT_IRREGULAR the grid (i.e. vertical lines) will not show in the background of the af:graph.
    Can anyone confirm that this is adf dvt defect or lack of feature?
    Thanks.
    Valon
    Edited by: Valon on Nov 6, 2012 6:44 AM

  • Bar Graph with multiple series

    I am trying to created some graphs in 10g reports. I want a graph that has 2 bars per group. On the layout tab I have column A and Column B on the bars line and Column C on the groups line. When I run the report Columns A and B show up as 1 bar on the graph. Where do you specify the values for series 1 and series 2?

    Hi,
    When you create a bar chart using a "group by" attribute, the resulting groups are displayed as stacked bars or as dual Y bars (shows the groups side by side).  The button in the chart's toolbar (with stacked bar chart icon) is used to change this presentation. You can display the data as it is, without aggregation, by using the line or scatter charts.  The line/scatter graphs should allow you to display multiple Y values (series), but there appears to be a bug that causes a single line to be displayed instead.  Multiple series bar charts and label renaming are not available in the current release.
    Thanks,
    Marat

  • 3D columns graph with multiple series

    I need to obtain a graph like below.
    I want to insert other series into Y axis. It's possible?
    thank you.
    Daniele.b75

    Hi,
    Yes, there is no build-in chart template that you want. We can only use the Gradient fill to close your request. But, it can't display the multiple series in cumulates chart.
    In my view,
    custom a chart via VBA is also a good workaround. I'm not familiar with VBA, if you have further question, I recommend you post the question to the MSDN forum for Excel
    http://social.msdn.microsoft.com/Forums/en-US/home?forum=exceldev&filter=alltypes&sort=lastpostdesc
    Hope it's helpful.
    Regards,
    George Zhao
    TechNet Community Support
    It's recommended to download and install
    Configuration Analyzer Tool (OffCAT), which is developed by Microsoft Support teams. Once the tool is installed, you can run it at any time to scan for hundreds of known issues in Office
    programs.
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • Populate ADF DVT Graph with List and DataControl

    How Can I create some java classes exposed through the DC and use those data to create graph.
    I do not want to create tables in a Database.
    Any sample code?
    Regards
    JO

    Hi,
    Thanks for the reply. that 's where my issue is.
    When I create a simple method
    public List<Employees> getEmployeesWithParam(String parameter) {
    List<Employees> returnList = new ArrayList<Employees>();
    return returnList;
    When I drag and drop the return List, I can create the graph but the attributes are no more accessible to build the Axis...
    Whereas with
    public List<Employees> getEmployeesWithParam() {
    List<Employees> returnList = new ArrayList<Employees>();
    return returnList;
    I can access the attributes
    Wery strange.. isn'it?
    JO

  • Engage 2008: Line Graph, can't start 2nd series @ different X value

    Using Xcelsius Engage 2008
    Created line chart w/ 2 series
    2nd series does not start at the same X value as series 1.
    How do I generate the second series so the initial part of my 2nd series line does not show all 0s?
    Thank you
    Nancy Griffin

    Hi Tammy.
    I'm using Xcelsius version: 5.0.0.99 and Build number 12,0,0,121.   I am not sure if S1 is already installed.  If not, where can I get it?
    This is what I'm trying to do:
    1) created a basic line graph with two series
    Series 1 Data has 2 columns
    Series 1 Column 1 includes dates. THis will be the labels for the X axis:
    1/1/07
    1/6/07
    1/12/07
    1/1/08
    1/6/08
    Column 2 includes the line graph data for series 1
    30
    50
    10
    90
    120, etc
    Series 2 column 1 - THis is the same as series 1 since it includes the same labels for the X axis
    Series 2 column 2  includes the data for the 2nd line graph
    HERE's WHERE IT IS DIFFERENT
    I have no data for dates 1/1, 1/6,  1/12/07.   My data starts in
    2008. I don't want the graph to show 0s for the first 3 dates and then jump up to the 2008 data.   Is there a way to make the 2nd line chart start on 1/1/08?
    thank you. Really appreciate your help.

  • Is it possible to modify marker shapes in a line graph

    Hello,
    Some questions regarding the marker shapes in line graphs.
    I have a line graph with two series. The client wants one series to have the diamond shape (black border, white inside) and the other series to also be a diamond but be filled in black.
    Is there a way to do this?
    Also, the marker shapes appear small in the graph. Is there a way to increase the size of the marker shapes?
    Lastly, I can't get the marker shapes to appear in the legend. I have tried setting markerShapeInLegend="true" in the Graph tag but that didn't help. It still just displays the line colour of the series.
    We are on version 10.1.3.4.1
    Any help is greatly appreciated. Thanks!
    Jared

    Hi,
    It is impossible to do that because the user query is using query generator. Click the condition button in the quer generator windows. The selection criteria text used the condition.
    you can use a custom report instead of using user query e.g. crystal report or reporting services
    JiM

Maybe you are looking for