0

編集: 40 回の閲覧がありましたが、応答がありませんでした。求めすぎた?私が探しているものの一部に反応する考えやポイントを誰かが持っていますか?

次の仕様を満たす会社用のソフトウェア ライブラリ (オープン ソースまたは商用) を探しています。最初に少し背景を。

私の会社はクラウドベースのソフトウェアを提供しています。これにより、ユーザーは、SharePoint リストに似たアドホック データベース テーブルを作成し、そこにあらゆる種類のデータを保存できます。議論のために、テーブルまたはビューに対して通常の SQL クエリを介してデータにアクセスできると仮定します。

ユーザーが独自のグラフを作成して、これらのアドホック テーブルに保存されているデータを視覚化できるようにしたいと考えています。エンド ユーザーには技術的な能力はなく、これを可能にするためのコーディングは必要ありません。

当社のソフトウェアは、バックエンドで Java を使用しています。クライアントはブラウザを介してソフトウェアにアクセスし、通常はプラグインやアドオンは必要ありません。

これが私が探しているものです:

  • 1 種類や 2 種類だけでなく、非常に幅広い種類のグラフ (円グラフ、棒グラフなど) と、それらのグラフのかなり複雑なバージョンを作成できるライブラリ。
  • グラフがバックエンド (java) で作成されるかフロントエンド (javascript を使用) で作成されるかは問題ではありません。
  • エンド ユーザーは、ウィザードを使用してチャートを設計できる必要があります。これには、チャートの種類やさまざまなチャート オプション (ラベル、色など) だけでなく、チャートの各部分を構築するために使用されるデータ フィールドも含まれます。たとえば、エンド ユーザーは円グラフを選択し、次に特定のデータ ソース (例: 店舗の売上) を選択し、そのデータ ソースから、円のディメンション (スライス) として使用される列と円グラフを選択できます。測定 (各スライスのサイズ)。データ ソースのフィールドとそれぞれのデータ型をライブラリに送信できるため (java または javascript で)、ライブラリがデータ ソースにアクセスできる必要は必ずしもありません。
  • 最後に、データが通常のテーブルとして格納されているか、SQL ビューとしてアクセスできると仮定すると、フィールドが選択され、さまざまな集計が定義されてチャートが作成されると、ライブラリはクエリに必要な実際の SQL コードを記述する必要があります。基になるデータ。エンド ユーザーが SQL コードを自分で作成することは期待できません。

SharePoint リストからデータを引き出してグラフを作成するために必要なクエリを作成する SharePoint アドオンがいくつかあると思います。それに似たものですが、SharePoint ベースではありません。

4

4 に答える 4

1

マーク、

私の知る限り、これに答えようとします(開示:私はFusionChartsの共同創設者兼CEOです-そこではJavaScriptチャートコンポーネントを作成しています)。

私は答えを2つの部分に分けました:

  1. Web アプリケーションのグラフ作成コンポーネントを見つけるには?
  2. これらのライブラリによって作成されたチャートをエンドユーザーが変更するための UI を構築する方法は?

Web アプリケーションにチャート機能を追加するには、3 つの方法があります。

サーバー側チャート ライブラリの使用

1 つ目は、API を介してサーバー上のデータを受け取り、チャートを表す画像を作成して、これらの画像をストリーミングする、プラットフォーム固有のチャート ライブラリを使用することです。このようなコンポーネントの例としては、Telerik (.NET、有料)、Infragistics (.NET、有料)、ComponentArt (.NET、有料)、ChartFX (Java、.NET、有料)、Steema (.NET、有料)、pChart (PHP) があります。 、無料)、jpGraph、およびそれらのすべての束。

このようなコンポーネントを使用する利点は次のとおりです。

  • 成熟したライブラリは多種多様なグラフの種類を提供します
  • グラフは画像として生成されるため、モバイル デバイスを含むあらゆる場所で機能します。
  • 画像としてレンダリングされたグラフのおかげで、ルック アンド フィールは常に同じままです。
  • アプリケーション全体でユーザーごとに 1 つまたは 2 つのチャートのみが提供される場合、サイズが 50 ~ 500KB のクライアント側ライブラリと比較して、使用される帯域幅は少なくなりますが、その後はキャッシュされます。

欠点は次のとおりです。

  • グラフを画像として生成する場合、サーバー側でかなりのリソースが使用されます。多くの同時ユーザーがいるアプリケーションの場合はなおさらです
  • 画像でできることは限られているため、グラフによって提供されるインタラクティブ性とアニメーションは非常に限られています。
  • それらはテクノロジー固有のものです。したがって、ASP.NET 用のライブラリを使用している場合、Java に移行する場合は、別のライブラリに切り替える必要があるため、ルック、フィール、および機能セットが異なります。

ホステッド チャート API の使用

2 番目のオプションは、クエリ文字列/REST API を介してデータを取り込み、チャート画像をアプリケーションに返すホストされたチャート ライブラリを使用することです。例としては、古い Google Charting API があります。

これの利点は次のとおりです。

  • チャート ライブラリをホストする必要がないため、すべてのメンテナンスとアップグレードの問題はそれらによって管理されます。
  • テクノロジー スタックを変更しても、チャートは同じサービスによって引き続き提供されるため、ルック アンド フィールは同じです。

短所:

  • このようなサービスは、さまざまな種類のチャートを提供していません
  • 機密データは、HTTP 経由でサーバーの外部からそのようなプロバイダーに転送する必要があります
  • クエリ文字列で送信できるデータ量の制限
  • 繰り返しますが、チャートは画像であるため、インタラクティブにすることはできません

JavaScript、CSS、Flash、Silverlight、または Java アプレットを使用したクライアント側のチャート作成

最後の 3 番目のオプションは、JavaScript/HTML5、Pure CSS、Flash、Java アプレット、または Microsoft Silverlight で記述されたクライアント側チャート ライブラリを使用することです。iOS デバイスが独自のプラグインをサポートしていないことを考慮すると、Flash、Java、および Silverlight ベースのプラグインは iPad および iPhone では動作しません。したがって、安全に無視できます。純粋な CSS コンポーネントは非常に軽量で、非常に基本的な視覚化に使用できます。

これで、ようやく JavaScript/HTML5 ベースのチャート コンポーネントにたどり着きました。無料と有料の JavaScript チャート作成ライブラリがたくさんあります。それらのいくつかを以下にリストしました。

有料: FusionCharts Suite XT (JavaScript)、HighCharts、amcharts、AnyChart、Jqplot、ZingCharts、Wijmo、TeeChart、Sencha Touch Charts、RGpraph、Kendo UI DataViz、JSCharts、Arcadia Charts、jQChart、EJSChart、emprisejs、techoctave

無料: FusionCharts Free (Flash)、Google Chart Tools、Yahoo UI コンポーネント、Flot、Milkchart、Moochart、protovis、graphael、elycharts、smootiecharts、dhtmlxchart、grafico、canvasjs、dygraphs、thejit、awesomechartjs、jchartFX。データ視覚化のための d3.js ベースの無料コンポーネント: xcharts、nvd3、rickshaw、cubism.js、Dc.js、xkcd、graphene

利用可能なコンポーネントの数を考えると、チャート コンポーネントの絞り込みを行う際に自問する必要がある質問には、次のものが含まれます。

  • 現在および将来的に必要になるグラフの種類は何ですか? 縦棒グラフや円グラフなどの非常に基本的なグラフが必要な場合は、これらのライブラリのほとんどが適しています。ただし、Pareto や Funnel などの少し高度なグラフが必要な場合でも、ほとんどのコンポーネントはそのようなグラフを提供していません。
  • グラフを最大数のデバイスと IE6 などの古いブラウザーでレンダリングすることは、どの程度重要ですか? 多くのオープンソース ライブラリは、レンダリングに SVG のみを使用しているため、IE6、7、8 をサポートしていません (世界の 6% がまだ使用しています)。
  • デモ中にデータ視覚化を実装する製品の一部を USP として使用できますか? はいの場合、グラフ コンポーネントのルック アンド フィールはどの程度重要ですか?
  • 基本的な機能のチャートを微調整するのにかなりの時間を費やすつもりですか? たとえば、多くのオープンソース ライブラリでは、追加のコードを記述する際にツール ヒントが有効になったり、グラフに 25 個を超えるデータ ポイントがある場合、x 軸のラベルの重なりに注意する必要があるという事実があります。それとも、アプリケーションとビジネス ロジックに集中できるように、これらの機能をそのまま使用しますか?
  • 化粧品を含め、チャートのすべての機能をカスタマイズできることは、あなたにとってどれほど重要ですか? たとえば、チャートを 3D でレンダリングしたり、数値のフォーマット方法をカスタマイズしたり、グラデーションを制御したりできる必要がありますか?
  • 簡単に開始できるように、完全なドキュメントと実際のビジネス デモを備えたコンポーネントが必要ですか、それとも、最小限のドキュメントと多くの時間がかかる可能性がある実験による学習で問題ありませんか?
  • 何かが期待どおりに機能しない場合にパーソナライズされたサポートを受けることは重要ですか? それとも、公開フォーラムに投稿し、返信/修正のための SLA がなくても問題ありませんか?

この情報が Web アプリケーションのグラフ作成コンポーネントの選択に役立つことを願って、2 番目の質問に答えさせてください。エンドユーザーがグラフをデザインするためのクライアント側ウィザードが付属するコンポーネントはありますか?

クライアント側のチャート作成ライブラリの場合、簡単な答えは NO です。それは、クライアント側のライブラリを特定のサーバー側のテクノロジに結び付けてデータの永続性を確保するためであり、第二に、それを必要とするユーザーは多くありません。

チャートのすべての機能をクライアント側でカスタマイズできるわけではありませんが、一部のサーバー側ライブラリ (以前はこの機能を備えていた Dundas) はこの機能を提供します。

そうは言っても、多くの開発者は、技術者以外のユーザーが使用するためのウィザードを作成しています。たとえば、FusionCharts では、Collabion (www.collabion.com を参照) と呼ばれる SharePoint 用のウィザードと、oomfo (www.oomfo.com) と呼ばれる PowerPoint 用のウィザードを作成しました。これらはオープン ソースではありませんが、関連性があると思われる場合は、これらのコードを喜んで共有します。

もう 1 つのオプションは、チャート作成コンポーネントが組み込まれており、エンドユーザーにウィザードも提供するオープンソースの BI コンポーネント (Pentaho、JasperSoft など) を使用することです。ただし、ユーザーごとにかなりのサーバー リソースが必要になる可能性があり、インストールと保守に時間がかかります。

ご質問にお答えできたことを願っています。

于 2013-04-25T08:48:55.347 に答える
0

私の観点からは、あなたの要件は2倍のようです。私の意見を共有しますが、それがあなたの助けになるかどうかはわかりません.

  1. 本質的に多様で、簡単に構成でき、ユーザーによる極端な調整に対して堅牢で、最悪のシナリオでも見栄えのするグラフ作成コンポーネントが必要です。(ユーザーがチャートを作成することは明らかであり、非常に大げさである可能性があるため、ここでは多くのアイテムを想定しています。)

  2. 既存のデータ ソースからそのようなチャートのあらゆる側面を作成および構成するために使用できるビジュアル エディター (できればウィザード スタイル)。

  3. あなたのアプリケーションはカスタムデータソースを作成して保存するためのものであるため(私が把握できる限り)、データの性質が柔軟すぎてソース標準に準拠できないため、BI ツールをオーバーレイとして使用することはあまり意味がありません。

私の基本的な分析が正しければ、それぞれの根拠に基づく私のアドバイスは次のとおりです。

  1. このような包括的な要件については、視覚化に特化したグラフ作成ソリューションが必要であり、グラフ作成のニーズに対応する視覚化コンポーネントです。

    あなたの要件を満たす唯一のコンポーネントは FusionChartsです。その理由は、FusionCharts は、入力に対する高い耐障害性を備えながらも魅力的に見える企業の顧客に対応するように設計されているためです。(例を挙げて詳しく説明するか、ウェブサイト http://www.fusioncharts.com/ を参照してください。 )

  2. 残念ながら、このような有能な視覚化フロントエンドと本質的に対になっているコンポーネントはありません。これは主に、ほとんどのチャート ソリューション プロバイダーが、チャートの生成を自分の側で行う必要があるユース ケースの消費者に対応しているためです。

    Dundas Chart Builder (私見は Web ベースではなく、 jsCharts チャート エディターではありません) がありますが、その視覚化フロントエンドはニーズほど包括的ではなく、エディターが販売されているかどうかはわかりません。

    そうは言っても、Collabion と呼ばれるFusionChartsの別の製品があります。この製品は、FusionCharts を使用してチャートをレンダリングし、SharePoint データ ソースに接続します。興味深い部分は、それが持っているビジュアル チャート ビルダーです。FusionCharts の外観と機能、およびデータ ソースの構成を完全にカスタマイズできます。http://www.collabion.com/にアクセスすると、スクリーンショットを確認できます。

    Collabion は、主に MicroSoft スタック (SharePoint) での展開を目的としていますが、要件は Java です。私見ですが、そこまで行けば、SharePoint のインスタンスを実行してプロセスを伝えることができます。(大声で考えているだけです。)

于 2013-04-25T15:57:50.277 に答える
0

確かに、FusionchartXT は要件を満たしていますが、Web ベースの FusionchartXT エディターも必要です。http://www.crossui.com/FCEditor/のように、顧客がオプションでチャートの属性、外観、日付セット、および傾向線を構成できるようにする必要があります

于 2014-05-15T04:31:02.463 に答える