Announcement

Collapse
No announcement yet.

Charts and Graphs Tool

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Bernard Chapman
    replied
    I tried to search the web for info on "logrithmic scaling" and found very little. From what I found, it appears that it is not a matter of what graphic tool you use, but in converting data into points via the correct math and then simply plotting the points. I found one graphic that used it and the chart was very simple.
    I have spent 18 years developing in PB charting tools including Log scaling for financial applications where it is used extensively. Download the demo from our website below and you can play around with linear and log scaling to your heart's content to get familiar with how it works.

    Leave a comment:


  • Chris Boss
    replied
    John,

    Very valuable tutorial.

    Since PB offers three LOG functions (LOG which is base E, LOG2 which is base 2, LOG10 which is base 10), it would appear one should be able to do the point calculations in an array and then convert them using LOG and then simply pass that array of points to any charting routine.

    Jeffrey,

    RMChart should suffice, IMO.

    It is not the chart tool which matters but the calculations. Rather than pass the original data to the chart tool, simply calculate it first and then pass the results to the chart tool.

    You may have to "bone up" (practice) your math a little, but it should be doable.

    Leave a comment:


  • John Reinking
    replied
    Its not the chart which is unique, but the calculations.
    Chris,
    Logarithmic charting is all about the scaling, semi-log or log-log plots. It is a matter of visual representation.
    Here is thorough tutorial. Please read beyond the Soil Science reference in the title. What is particularly valuable
    about this article is the explanation about how to compute the unevenly spaced axis ticks.

    Leave a comment:


  • Chris Boss
    replied
    Jeffrey,

    I tried to search the web for info on "logrithmic scaling" and found very little. From what I found, it appears that it is not a matter of what graphic tool you use, but in converting data into points via the correct math and then simply plotting the points. I found one graphic that used it and the chart was very simple.

    I think rather than look for a charting tool, you need to be looking for a math library that does the calculations for you. RMChart is amazing IMO and should suffice for drawing the chart. You need an appropriate math library (or find the math calculations needed and write your own using PB) and then generate the points into an array and then simply use RMChart to display that data.

    Its not the chart which is unique, but the calculations.

    Leave a comment:


  • Patrice Terrier
    replied
    Jeffrey,

    The GDImage trial version has 2 chart examples showing amazing features, they are:
    • Chart.exe (3D OpenGL)
    • Vector.exe (mixing raster and vector grahic, with or without antialias mode)

    both of them are mouse aware (to drag the chart elsewhere)
    and GDImage graphics are 100% VISTA DWM compatible (able to draw on the AERO translucent background).

    3D Chart



    Polypolygon vector graphic (scalable) can be filled or not using a pen of any size plus alphablendend color and antialias.
    Of course you can add text legend of any size at any angle and even create Hyperlink graphics if you want!



    ...
    Last edited by Patrice Terrier; 27 May 2008, 02:15 AM.

    Leave a comment:


  • Chris Boss
    replied
    If you are using EZGUI, there are a number of things that you can do.

    You can use the Canvas control as the container for drawing into. Any tool you can find that can draw into a memory DC, can be used with the Canvas control. Even RMChart can draw into the Canvas control.

    I am not familiar with "logrithmic scaling".

    Could you explain what it is ?

    Or maybe provide a link to an actual chart which uses it ?

    EZGUI provides a number of graphic features which you may not be aware of such as:

    The image drawn into a Canvas control can be scaled. The EZ_StartDraw command (which starts a drawing cycle for the control) has two parameters W& and H& which define thw width and height. You can use any values you want if the size in different than the actual controls size, EZGUI creates a viewport to draw into and Windows scales the image.

    Another feature is the Turtle Graphic control. There is a command , EZ_CDrawTurtle, which allows you to draw a Turtle graphic macro as an object into the Canvas control. The image is autoscaled.

    The Sprite engine allows you to overlay non-rectangular (has transparent pixels) objects on top of the Canvas control. Sprite images can be drawn, just like any other image. You can draw the sprites using any graphic tool which can draw into a memory DC.

    The point is, that you can combine a number of graphic tools together (ie. RMChart and any other graphic tool) by using the Canvas control as the drawing area.

    Another very useful command is EZ_DefPoly, which can be used to define a relative Polygon (relative coordinates rather than fixed) and also Polybeziers. The Polygon/PolyBezier can be drawn using the EZ_CDraw command. Relative coordinates make this command very powerful. You can actually define a Polygon/Polybezier object which can be drawn over and over again in different positions.

    Another useful command is EZ_CalcPoint. This command allows you to define a coordinate (X,Y) and then calculate a new point which is a specific distance from the original point and a specific angle (degrees) from the original point. It is very useful for doing your own point calculations.
    Last edited by Chris Boss; 27 May 2008, 09:49 AM.

    Leave a comment:


  • Jeffrey W Smith
    replied
    Originally posted by Chris Boss View Post
    What development environment are you using ?
    (ie. PBForms, FireFly, PwrDev, EZGUI)
    I'm using EZGUI.

    Leave a comment:


  • Jeffrey W Smith
    replied
    Thanks Dean, I'll take a look at it after I get back from a field trip.

    Jeff

    Leave a comment:


  • Chris Boss
    replied
    Jeffrey,

    What development environment are you using ?
    (ie. PBForms, FireFly, PwrDev, EZGUI)

    This effects what third party tools you can use (ie. FireFly supports activeX).

    Leave a comment:


  • Dean Schrage
    replied
    PV2D Developers Verison

    Hi Jeffrey

    Rhea-PV2D might work for you. It doesn't currently have log scaling but it could be added. PV2D is cut as a developer's version so that you can push plot models into the DLL from a parent application.



    I can provide a link for this above example (will include the pv2d.dll)

    PV2D Product Page

    Best Regards

    Dean

    PV2D Feature List
    • ASCII TXT and native PLT file formats
    • File dialog supports drag drop and Send-To for rapid load (assign PLT file to Open)
    • Axis control, labels and legend creation with the ability to control the location
    • Full color control for any plot attribute such as background, lines, grids and text
    • Restore default system colors
    • Paste large blocks of clipboard text
    • Single click screen capture to clipboard and printing of hardcopy
    • Auto-scale feature, selectable on either axis
    • Dynamic zoom using Mouse-wheel
    • Dynamic zoom using immediate drag and release selection window
    • Full screen zoom return feature (Click ESC key or context menu)
    • Plot group control and the ability to selectively display points and lines in any group
    • Global plot group control, example, turn off all lines or points
    • Line thickness and point radius control
    • Ability to swap X and Y axis by selecting any Y variable in a multi-column data file as the independent variable
    • Data statistics dialog to probe window-selected data, i.e. MIN, MAX, INT, AVG
    • Tracker dialog feedback of the mouse location (saved to clipboard), also shown on the dialog
    • Cursor location plot coordinates display in dialog at all times
    • Normalize feature (data is scaled 0 to 1 on the Y axis to allow viewing data of different magnitudes)
    • Sort data on X axis
    • Input single column data (rapid plot if no independent variable is available)
    • NEW! PV2D.dll available as developer's version called from a parent dialog

    Leave a comment:


  • Michael Mattias
    replied
    could be wrong, but when displaying a log scale, the points are not evenly spaced. A line graph that normally displays a curve would change to a straight line on a log-log graph.
    No, you are not wrong about the spacing on the scale at all.

    I don't know how your charting tool and application handle display of those scales along the axes; that may be an issue in your application.

    However, I do know taking the log of the real values makes the resulting value set logrithmic.

    Maybe you'll need to suppress any automatic scale displays and add your own separate controls to do that?

    Or maybe, if the number of required log-scaled charts is small, just write your own chart code for that, letting the 'canned' tool handle everything else? If the tool can handle ninety percent of your needs, that's not all bad.

    MCM

    Leave a comment:


  • Jeffrey W Smith
    replied
    Thanks for the responses.

    [QUOTE
    Assuming you have to supply an array of values to be charted, just make each element of that array = LOG(real value) and you have automatic logrithmic scaling.

    MCM[/QUOTE]

    I could be wrong, but when displaying a log scale, the points are not evenly spaced. A line graph that normally displays a curve would change to a straight line on a log-log graph.

    ---
    John,

    I've seen a previous post on Rainer's website asking about it and I've posted one myself. He seems to be a busy guy.

    Leave a comment:


  • Eric Pearson
    replied
    are there any third party graphics tools that can help?
    If you end up rolling your own, my company's Graphics Tools product has some useful features for drawing graphs. Check out the sample images but keep in mind that Graphics Tools is a drawing package, not a graphing and charting package.

    -- Eric Pearson, Perfect Sync Software

    Leave a comment:


  • Patrice Terrier
    replied
    If I can't find the right tool, I'm going to have to think about creating my own (that's the last thing I had in mind). If I had to, are there any third party graphics tools that can help?
    I think that GDImage could help in such a case, see it there

    Leave a comment:


  • Michael Mattias
    replied
    > but it lacks the ability to create logrithmic scaling

    Without seeing the app I can't say for sure but...

    Assuming you have to supply an array of values to be charted, just make each element of that array = LOG(real value) and you have automatic logrithmic scaling.

    MCM

    Leave a comment:


  • John Reinking
    replied
    I'd ask Rainer Morgan if he'd take your money and build exactly what you need.
    Apart from that, check out DPlot. It is quite thorough and I believe there is an EXCEL plug-in available.

    Leave a comment:


  • Jeffrey W Smith
    started a topic Charts and Graphs Tool

    Charts and Graphs Tool

    I'm looking for any suggestions on a charting tool that works with PowerBasic. I have a project that requires many varieties of Excel like graphs and beyond.

    I've extensively reviewed RMChart. It fullfills the needs for about 90% of the needs. I really like Rainer Morgan's Free charting tool, but it lacks the ability to create logrithmic scaling. Creating charts with RMChart is easy and Rainer added some unique features in the XY graphs that helped alot. I like the feature that allow a user to zoom into a chart.

    My client doesn't mind paying for a quality commercial charting tool to complete the project.

    If I can't find the right tool, I'm going to have to think about creating my own (that's the last thing I had in mind). If I had to, are there any third party graphics tools that can help?

    I appreciate any responses.
Working...
X