2

次のような問題が発生しました: Vincent を使用して複数行のグラフを作成していますが、解決策が見つかりませんでした。

チャット ツールで、ユーザーが 1 時間ごとに処理したディスカッションの数を取得するために、複数行のグラフを表示したいと考えています。
以下の形式の DataFrame を取得しました。左の列は時間を表し、他の各列は 1 時間ごとのユーザーごとのディスカッションの数を表します。

      user1  user2
...    ...    ...
8       0     0
9       1     0
10      0     0
11      0     0
12      11    0
...    ...   ...

注:すべてのDFを表示したわけではありませんが、0から23までの行を取得しました.

グラフを作成するために次のコードを試しました:

graph = vincent.Line(df)
graph.axis_titles(x='Hour', y='Number of discussions')
graph.legend(title="Users")

次のエラーが発生しました:

array is not broadcastable to correct shape

何が悪いのかよくわかりませんでした。別のことを試しました。インデックスを DF のセリエとしてコピーしたため、次の形式になりました。

    user1  user2    hour
...    ...    ...   ...
8       0     0     8
9       1     0     9
10      0     0     10
11      0     0     11
12      11    0     12
...    ...   ...    ...

そして、私は次のコードを試しました:

graph = vincent.Line(df, iter_idx='hour')
graph.axis_titles(x='Hour', y='Number of discussions')
graph.legend(title="Users")

ここでは、エラーは発生しませんでしたが、リンクした投稿の davidheller のように、線がなく、absicssa の値が 0 のグラフが表示されました。vincent.Line オブジェクトのパラメーターが正しくないと思いますが、渡す方法がわかりません。何か考えはありますか?

4

1 に答える 1