Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. suggestions for graphing/plotting
Qt 6.12 LTS is out! See what's new in the release blog

suggestions for graphing/plotting

Scheduled Pinned Locked Moved Unsolved General and Desktop
12 Posts 6 Posters 10.2k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • VRoninV Offline
    VRoninV Offline
    VRonin
    wrote on last edited by
    #3

    Before we can get into details, could you tell us your license needs?

    • Are you ok with GPL (i.e. no commercial use and no closed source)
    • Are you ok with paying for a license to use the product commercially/closed source?
    • Do you require week copyleft/permissive licenses (LGPL,MIT,Apache,Mozzilla)?

    "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
    ~Napoleon Bonaparte

    On a crusade to banish setIndexWidget() from the holy land of Qt

    1 Reply Last reply
    1
    • mzimmersM Offline
      mzimmersM Offline
      mzimmers
      wrote on last edited by
      #4

      jsulm: thanks for pointing me to charts. I'd already glanced at it, and it didn't look quite right, but I'll look at it again.

      VRonin: for now I'm going to assume that we'll be OK with buying a commercial license, but since I'm still in the proof of concept stage, I'll be going GPL for now. So, either works, really.

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #5

        @VRonin GPL doesn't forbid commercial use (see here) however it doesn't really make sense to create a commercial application using GPL licensed API..

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        VRoninV 1 Reply Last reply
        0
        • mzimmersM Offline
          mzimmersM Offline
          mzimmers
          wrote on last edited by
          #6

          I'm really not concerned about licensing from a cost standpoint. If I can show the powers-that-be that Qt is a superior alternative, they'll have the funds for licensing.

          What I'm hoping to get out of this thread is some ideas based on their technical merits. I've briefly looked at Qt Charts and it's probably adequate (overkill, even) for my meager needs. I just need a 2D graph with points, and a few moving line charts. As I said, if I can keep these updated 10X/second, that will be fine.

          1 Reply Last reply
          1
          • C Offline
            C Offline
            CroCo
            wrote on last edited by CroCo
            #7

            I use QCustomPlot . It is simple and it has very nice features. I use it to plot some results for controlling robotics manipulators. Very good.

            1 Reply Last reply
            0
            • mrjjM Offline
              mrjjM Offline
              mrjj
              Lifetime Qt Champion
              wrote on last edited by
              #8

              Hi
              I can also highly recommend CustomPlot.
              Simply, not expensive, and no complex build requirements.
              You be up and running in minutes.

              1 Reply Last reply
              0
              • SGaistS SGaist

                @VRonin GPL doesn't forbid commercial use (see here) however it doesn't really make sense to create a commercial application using GPL licensed API..

                VRoninV Offline
                VRoninV Offline
                VRonin
                wrote on last edited by VRonin
                #9

                @SGaist said in suggestions for graphing/plotting:

                @VRonin GPL doesn't forbid commercial use (see here) however it doesn't really make sense to create a commercial application using GPL licensed API..

                From https://www.gnu.org/licenses/why-not-lgpl.html

                using the Lesser GPL permits use of the library in proprietary programs; using the ordinary GPL for a library makes it available only for free programs.


                On the matter at hand, the options are:

                • Qt Chart and Qt Data Visualization modules (GPL & commercial)
                • QCustomPlot (GPL & commercial)
                • KD Chart (GPL & commercial)
                • Qwt (LGPL)
                • KPlotting (LGPL)
                • Any JavaScript charting API (e.g. Google Charts) paired with QWebEngine or QtQuick

                "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                ~Napoleon Bonaparte

                On a crusade to banish setIndexWidget() from the holy land of Qt

                1 Reply Last reply
                5
                • SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on last edited by
                  #10

                  @VRonin In this context, commercial meant "an application that you sell".

                  Interested in AI ? www.idiap.ch
                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                  1 Reply Last reply
                  1
                  • mzimmersM Offline
                    mzimmersM Offline
                    mzimmers
                    wrote on last edited by
                    #11

                    OK, I have a more specific design question. As the image above shows, I'll have 5 items to update (and there will be more). These will probably all update at the same time. Is it considered better to have separate signals for each of these items, or to create a data structure that contains all of their information, and have a "master" signal that passes the entire data structure?

                    The first alternative is obviously simpler from the standpoint of keeping data current, but uses a lot more signals. The second would reduce the number of signals, but require me to maintain this data structure.

                    Is there a rule of thumb for knowing when to break updates into multiple signals, and when to combine them?

                    I suppose a third alternative would be to use the same signal and pass an argument indicating which item(s) are to be updated. This will make the code a little more complex, but would (probably) obviate the issue.

                    Thanks.

                    1 Reply Last reply
                    0
                    • VRoninV Offline
                      VRoninV Offline
                      VRonin
                      wrote on last edited by
                      #12

                      Qt Chart and KD Chart (unfortunately I have no other experience with the other tools mentioned so I can't comment on those) can link directly to a QAbstractItemModel to refresh as soon as you update your data in the model.

                      Qt Chart, at the current development, however, refreshes the entire series every time 1 point changes making it quite slow when handling large volumes (did not test KD Chart under those conditions)

                      "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                      ~Napoleon Bonaparte

                      On a crusade to banish setIndexWidget() from the holy land of Qt

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt
                      • Unsolved