HELP REQUIRED FOR CHART DIRECTOR/

(6 posts) (2 voices)
  1. ajitdixit, Member

    I have following code for chart

    select 'dbr.chart.options', 'imagechart';
    select 'dbr.chart', 'Spline', 'Device Values', 1400, 400;
    select 'dbr.chart.options','axis', 'TIME', 'VALUE'
    select 'dbr.chart.options', 'showvalues', '0';
    select 'dbr.chart.options', 'rotateNames', '90';
    select 'dbr.chart.options','chartdirector', '$c->xAxis->setLabelStep(4);
    $c->getPlotArea()->setGridColor(0xc0c0c0, 0xc0c0c0);';
    select 'dbr.chart.options','chartdirector', '$layer->setLineWidth(1);';
    -- , @MEDIAN , @STDDIV

    SELECT CreatedAt , DeviceValue
    From #NumberList Order by CreatedAt

    Please see my sample chart at following URL

    http://limsmis.metropolisindia.com/report.php?r=40&u1=67&u2=2&u3=5315&m=7&h=6ba8d0e8ba2a8b298c0c745b8c2200a18e94006d

    I have 3 questions

    1. What I need to do so that X & Y Axis labels are visible
    2. What I need to do so that X & Y axis valus are visible
    3. I want to plot line of mean , std devaition on both side of mean on the graph. is it possible ?

  2. myDBR Team, Key Master

    Hi,
    cannot see your chart, but if you do not see axis labels without any extra options, you might want to check that the server fonts are installed correctly (or use SVG charts where labels are drawn in the browser).

    --
    myDBR Team

  3. ajitdixit, Member

    Thanks I have corrected font path and now labels are coming

    I am looking for doing similar to following code

    <?php
    require_once("../lib/phpchartdir.php");

    # The data for the line chart
    $data0 = array(42, 49, 33, 38, 51, 46, 29, 41, 44, 57, 59, 52, 37, 34, 51, 56, 56,
    60, 70, 76, 63, 67, 75, 64, 51);
    $data1 = array(50, 55, 47, 34, 42, 49, 63, 62, 73, 59, 56, 50, 64, 60, 67, 67, 58,
    59, 73, 77, 84, 82, 80, 84, 98);
    $data2 = array(36, 28, 25, 33, 38, 20, 22, 30, 25, 33, 30, 24, 28, 15, 21, 26, 46,
    42, 48, 45, 43, 52, 64, 60, 70);

    # The labels for the line chart
    $labels = array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12",
    "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24");

    # Create an XYChart object of size 600 x 300 pixels, with a light blue (EEEEFF)
    # background, black border, 1 pxiel 3D border effect and rounded corners
    $c = new XYChart(600, 300, 0xeeeeff, 0x000000, 1);
    $c->setRoundedFrame();

    # Set the plotarea at (55, 58) and of size 520 x 195 pixels, with white background.
    # Turn on both horizontal and vertical grid lines with light grey color (0xcccccc)
    $c->setPlotArea(55, 58, 520, 195, 0xffffff, -1, -1, 0xcccccc, 0xcccccc);

    # Add a legend box at (50, 30) (top of the chart) with horizontal layout. Use 9 pts
    # Arial Bold font. Set the background and border color to Transparent.
    $legendObj = $c->addLegend(50, 30, false, "arialbd.ttf", 9);
    $legendObj->setBackground(Transparent);

    # Add a title box to the chart using 15 pts Times Bold Italic font, on a light blue
    # (CCCCFF) background with glass effect. white (0xffffff) on a dark red (0x800000)
    # background, with a 1 pixel 3D border.
    $textBoxObj = $c->addTitle("Application Server Throughput", "timesbi.ttf", 15);
    $textBoxObj->setBackground(0xccccff, 0x000000, glassEffect());

    # Add a title to the y axis
    $c->yAxis->setTitle("MBytes per hour");

    # Set the labels on the x axis.
    $c->xAxis->setLabels($labels);

    # Display 1 out of 3 labels on the x-axis.
    $c->xAxis->setLabelStep(3);

    # Add a title to the x axis
    $c->xAxis->setTitle("Jun 12, 2006");

    # Add a line layer to the chart
    $layer = $c->addLineLayer2();

    # Set the default line width to 2 pixels
    $layer->setLineWidth(2);

    # Add the three data sets to the line layer. For demo purpose, we use a dash line
    # color for the last line
    $layer->addDataSet($data0, 0xff0000, "Server #1");
    $layer->addDataSet($data1, 0x008800, "Server #2");
    $layer->addDataSet($data2, $c->dashLineColor(0x3333ff, DashLine), "Server #3");

    # Output the chart
    header("Content-type: image/png");
    print($c->makeChart2(PNG));
    ?>

    How can I do in mydbr

  4. ajitdixit, Member

    My requirement is similar to following solution in forum

    select 'dbr.chart.options', 'chartdirector', '
    $linelayer = $c->addLineLayer();
    $linelayer->moveFront();
    $linelayer->addDataSet(array(180,160,170,165),0xFF0000, "Target");
    $linelayer->setLineWidth(3);
    $linelayer->setDataLabelFormat("{value}");';

    I have following questions

    a) Does this will work for spline
    b) Is there any way I can pass parameter to addDataSet method as return of SQL query. My dataset are dynamic and I do not know if I can have array argument formed from SQL query

    Regards

    Ajit

  5. myDBR Team, Key Master

    I am looking for doing similar to following code
    ...
    How can I do in mydbr

    The chart in question is a standard MSLine chart with formatting options.

    --
    myDBR Team

  6. myDBR Team, Key Master

    a) Does this will work for spline

    Yes, instead of addLineLayer() you just use addSplineLayer()

    b) Is there any way I can pass parameter to addDataSet method as return of SQL query. My dataset are dynamic and I do not know if I can have array argument formed from SQL query

    You can use group_contact function from MySQL to generate a string of values separated with comma. You can then concatenate that with rest of the data.

    --
    myDBR Team


Reply

You must log in to post.