私は現在Qwtを2年間使用しています。私はそのオブジェクト指向クラスが好きです。それはプロットと機能を非常に簡単に適応させることができます。最近、QCustomPlotはますます人気が高まっており、Qwtと競合しています。もちろん、私はAPIを比較しました。しかし、私は両方の図書館からの経験豊富なユーザーの証言に興味があります。何が便利ですか?どうですか?落とし穴はありますか?
Qwtを数か月間、QCustomPlotを数週間使用したので、自分を「経験豊富」とは呼びません。そうは言っても、私の印象は次のとおりです。
編集:QCustomPlotの作者は 認識 プロットの背景を設定するための機能が不足しており、次のリリースでそれを追加することを約束します。
QCustomPlotとQwtの間にはもう1つの重要な違いがあります-ライセンス。 --QwtはLGPLであるため、非GPLプロジェクトにリンクできます。 QCustomPlotはGPLv.3であり、多くの人(私自身を含む)はWAYが制限的すぎると感じています。 QCustomPlotの作成者は、LGPLライセンスが必要な場合は、彼に連絡することを勧めます。
EDIT2(2013年3月25日):Qwtブランチ5. *および6. *の新しいリリースが11月に登場し、QCustomplotの「より積極的に開発された」利点が無効になりました。
QCustomPlotのみを使用しているため(現在1年間)、両方のライブラリを比較することはできませんが、それでも私のコメントは他の人にも役立つと思います。
QCustomPlotの長所:
QCustomPlotの短所:
LGPL風のライセンスが必要な場合、無料のオプションがない場合があります(作成者の考慮事項によって異なります)。ライブラリの品質と使いやすさを考えると、LGPLライセンス契約と引き換えに私の会社が行った寄付は不当ではありませんでした。
たくさんのポイントをプロットするとき。そしてユーザーはポイントをプロット全体に集中させます。すなわち(x、y軸は完全にピクセルで覆われています)
(ポイント数=以下の計算で与えられます)
プロットをドラッグしている間:
私が気付いたのは、ドラッグ中、Qwtはプロット領域のみをドラッグし、ドロップした後、その領域に描画することです。一方、QCustomPlotは、ドロップする前に再プロットを試みます。 (確かに注意してください、しかしこれはQCustomPlotの人がそれをより良くするのを助けるかもしれません。)
また、Qwtは、外部で管理できるrawバッファーオプションを提供します。 (QcustomPlot)150Mbを(Qwt)40Mb未満に減らすことができました。維持、
QCustomPlotは、ユーザーにメモリをX軸(errorbar +、errorbar-)、y軸(errorbar +、errorbar-)に割り当てるように強制します(2 * 2 * sizeof(double))メモリは3 * 2 * sizeof(double)、つまり32バイトから無駄になります48バイトのは無駄(1サンプルの場合)ですが、Qwtだけが1つのサンプル(xおよびyの場合)に16バイトを必要としました。
afaiは理解しています、エラーバーはQwtでも達成できます
アンチエイリアスを有効にした後でも、Qwtのパフォーマンスははるかに優れていました。
ノート:
Qwtは、背景を白、アンチエイリアスが有効、グリッドに変更した直後に、はるかに見栄えが良くなります。
テスト済み:
また、QCustomPlotはQt4でも同じように動作します。
これらは私の発見であり、条件ごとに異なる場合があります。
qwtに切り替えました。これが他の人の選択に役立つことを願っています。 :)
マイナー:
いくつかの点で間違っている場合は私を訂正してください。
長所:
短所:
double
とX
のみが必要な場合でも、データポイントごとに6つのY
sを格納するデータ構造を内部的に使用しますQMap
を使用してデータポイントを保存し、並べ替えたままにします。パンとズームには非常に効率的ですが、サンプル数が多い場合(1,000,000データポイントなど)、データの入力に非常に時間がかかります。