Announcement

Collapse
No announcement yet.

Charts and Graphs Tool

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

  • 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.

  • #2
    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.

    Comment


    • #3
      > 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
      Michael Mattias
      Tal Systems (retired)
      Port Washington WI USA
      [email protected]
      http://www.talsystems.com

      Comment


      • #4
        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
        Patrice Terrier
        www.zapsolution.com
        www.objreader.com
        Addons: GDImage.DLL 32/64-bit (Graphic library), WinLIFT.DLL 32/64-bit (Skin Engine).

        Comment


        • #5
          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
          "Not my circus, not my monkeys."

          Comment


          • #6
            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.

            Comment


            • #7
              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
              Michael Mattias
              Tal Systems (retired)
              Port Washington WI USA
              [email protected]
              http://www.talsystems.com

              Comment


              • #8
                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

                Comment


                • #9
                  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).
                  Chris Boss
                  Computer Workshop
                  Developer of "EZGUI"
                  http://cwsof.com
                  http://twitter.com/EZGUIProGuy

                  Comment


                  • #10
                    Thanks Dean, I'll take a look at it after I get back from a field trip.

                    Jeff

                    Comment


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

                      Comment


                      • #12
                        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.
                        Chris Boss
                        Computer Workshop
                        Developer of "EZGUI"
                        http://cwsof.com
                        http://twitter.com/EZGUIProGuy

                        Comment


                        • #13
                          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.
                          Patrice Terrier
                          www.zapsolution.com
                          www.objreader.com
                          Addons: GDImage.DLL 32/64-bit (Graphic library), WinLIFT.DLL 32/64-bit (Skin Engine).

                          Comment


                          • #14
                            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.
                            Chris Boss
                            Computer Workshop
                            Developer of "EZGUI"
                            http://cwsof.com
                            http://twitter.com/EZGUIProGuy

                            Comment


                            • #15
                              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.

                              Comment


                              • #16
                                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.
                                Chris Boss
                                Computer Workshop
                                Developer of "EZGUI"
                                http://cwsof.com
                                http://twitter.com/EZGUIProGuy

                                Comment


                                • #17
                                  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.
                                  Bern


                                  http://www.insighttrader.com.au

                                  Comment

                                  Working...
                                  X