我遇到了与以下类似的问题:使用文森特创建多线图,但我没有找到解决方案。
我想显示一个多线图,以获取一天中每个小时在聊天工具上用户处理的讨论数量。
我得到了一个具有以下格式的 DataFrame。左列代表小时数,每列代表用户每小时的讨论次数:
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")
在这里,我没有收到任何错误,但就像我链接的帖子中的 daviheller 一样,我得到了一个没有任何线条的图表,并且在 absicssa 中只有值 0。我猜我的 vincent.Line 对象的参数不正确,但我不知道如何传递它们。你有什么主意吗 ?