web-dev-qa-db-ja.com

一部のX軸の値が欠落している場合に、グラフモジュールを使用して複合グラフを作成するにはどうすればよいですか?

私はしばらくの間私の問題の解決策を探していましたが、成功しなかったので、多分ここの誰かが助けてくれるでしょう。

チャートモジュールのビュー統合を使用して、3つの折れ線チャートを1つのチャートに組み合わせる方法は? に関する質問への回答はすでに見ましたが、それは解決に役立ちませんでした私の問題。

Charts モジュールを使用して、「Chart」表示形式を使用して Views でグラフを作成します。そして、チャートライブラリとして Highcharts を使用して、「Passed」ノードの数(緑色)を描画しています。また、「失敗」ノードの数(赤)を表すグラフアドオンを作成し、同じグラフに複数のシリーズを含めることができるようにしました。

この時点で、これは私が以下で説明する問題に関して私が持っているチャートです:

enter image description here

上の表からわかるように、4つの異なる日付(実行日時)があります。グラフには4つの日付が表示されます。代わりに、3つの日付のみが表示されます。これが理由です。最後の日付には「合格」ノードがないため、グラフ表示(親)の軸にはその値がありません。最後の日付の2つのFailedを表すグラフアドオンは、4番目の日付ではなく3番目の日付を使用して最初のディスプレイの上に表示され、エラーが発生します。

このモジュールではx軸の値は無関係であるようです。

私が欲しいチャートはこのようなものでなければなりません:

enter image description here

私はこのグラフをExcelで作成しましたが、(Drupalで間違った結果が出ている)違いは、「0 Passed "または"0 Failed "ですが、結果はまったくありません。

これを正しく機能させる方法はありますか?私はすでに利用可能な多くのチャートモジュールを試しました、そして私の知る限りでは誰もがこの問題を抱えています...

以下も私の見解のスクリーンプリントです:

enter image description here

注:グラフの下の表では、モジュール Views Merge Rows を使用しており、上位2つの日付に「0 Failed "または"0 Passed "(最初のスクリーンプリントの表形式表示に示されているように)には、正しいチャートを表示する必要がありました。 。

編集:同じ問題 herehere が見つかりました。それが役に立てば幸い。

2番目のリンクのような解決策が必要な場合、つまり、両方のシリーズが常にすべてのラベルを持つようにビューを構築する必要がある場合は、私はそれを受け入れます。

7
zephirus

ステップ1

グラフを正しく表示することが「唯一の」問題かどうかはわかりませんが、問題の一部は、データに「穴」があることです。詳細は Comment nr 12 = of Issue nr 2052429

問題について

「穴」に関するその問題のすべてを理解するために、これらのデータをグラフ化することを検討してください。

enter image description here

タイプArticleおよびWebformの場合、Published = Noの行はないことに注意してください(つまり、これらのタイプの非公開ノードはありません)。したがって、このシナリオでは、いわゆる「穴」が2つあります...それが問題の始まりでした。

  • 問題1:これらのデータの縦棒グラフは次のようになります。

    enter image description here

    「記事」のバー(値が1)は間違っています。そのバーは実際には、未公開の「ブックページ」の値1に関連しています。また、「ブックページ」のバー(値2)は、実際には2つの非公開の「ベーシックページ」のバーである必要があります。

  • 問題2:これらのデータの折れ線グラフは次のようになります。

    enter image description here

    この場合、「未公開」の行にも同様の問題があります。したがって、作成するグラフのタイプは関係ありません。すべてのグラフにこの問題があります。

この問題を解決する方法

まず、最新の Devバージョン にアップグレードします(これは、現在のrc1バージョンよりもはるかに優れている/安定しています)。次に、上記の問題のコメントに添付されている patch を適用し、それがあなたのケースで役立つかどうかを確認します。そうでない場合は、それが確実に前提条件であることを確認してください(そのパッチがないと、機能させることができません)。 注意:パッチは、最新の開発バージョンには適用されなくなったようです。 (再び)機能させるには、上記のパッチを使用せず、代わりに Comment nr 31 に添付されている re-rolled patch を使用してください Issue nr 2052429

この修正を適用した後の、上記の同じ縦棒グラフは次のようになります。

enter image description here

そして、これは対応する折れ線グラフです:

enter image description here

...これは、上記の表形式のデータと完全に一致するグラフだと思います。

ステップ2

最新の開発バージョンにアップグレードしてパッチを適用するだけでは不十分な場合は、有効にした Views Merge Rows モジュールを(一時的に)無効にすることをお勧めします。そして、(一時的に)PASSEDとFAILEDの値を2つの別々の列として表示するようにビューを変更します。そして、正しい結果が得られるかどうかを確認します。このようにして、このViews Merge Rowsモジュールが原因であるかどうかを確認できます(サポートリクエストの解決は、考えられるすべての原因を一度に1つずつ取り除くようなものです...)。

ステップ3

手順2でも解決しない場合は、 ビューのUIを使用してグラフを作成する手順 の「ボーナスヒント」に記載されている内容をお勧めします。

データの設定後、「表」表示から始めてそれをグラフ表示に変換する方が簡単な場合があります。最初に表に配置すると、グラフの結果を簡単に視覚化できます。

つまり、グラフを作成する前に、表形式のバージョンで正しいデータが表示されていることを確認してください。

ステップ4

前の手順のいずれも役に立たない場合は、次のようにビューを修正して、得られた結果を確認できます。

  • 同じビューで別の表示を作成します。たとえば、「Runs Chart(Total) "」という名前を付けます。これは、「Runs Chart(Passed) "」のすべての仕様と同じである必要がありますが、フィルターはありません" Content:Test Case Run Status(Passed) "。明らかに、それは実行の合計(成功したものと失敗したものの両方)を反映します。私はそれを「折れ線グラフ」にします(しかし、それは個人的な好みの問題です)。
  • チャートの設定」の「実行チャート(合格) "を変更して、親チャートとして「実行チャート(合計)」を使用するようにします。
  • "Chart settings"の "Runs Chart(Failed)"を使用して、親チャートとして "Runs Chart(Total)"を使用するようにします。 ( "Runs Chart(Passed)"の代わり)。

手順5

手順4の回避策が回避策として役立つ場合は、背景に一致する折れ線グラフの色を使用して、「Runs Chart(Total)」のグラフ設定をさらに絞り込むことができます。グラフの(白のような?)。 「レジェンド」などの設定に似ている可能性があります( に設定するなど)。

開示:私はChartsモジュールの共同メンテナです(+コミュニティのドキュメントの作成者)。
これがサイトの 自己宣伝に関するポリシー に違反しないことを願っています。

1
Pierre.Vriens

あなたがする必要があるのは、両方のシリーズが常にすべてのラベルを持つようにビューを構築することだと思います。

これを行うには、「数0を空としてカウントする」フィールドがオフになっていることを確認するだけです。このフィールドを見つけるには、カウントしているフィールド名をクリックして、その構成オーバーレイを表示します。 [結果の動作なし]を選択し、[0を空としてカウントする]チェックボックスがオフになっていることを確認します。 [空の場合は非表示]もオフにする必要があります。

それで問題は解決しましたか?そうでない場合は、ビューをエクスポートして投稿した場合、または少なくとも、頼りにしているフィールドに関するセクションがある場合に役立ちます。

0
Erin McLaughlin