从两个列表创建一个json以在Javascript中制作堆叠的条形图

sai_1432

从两个列表创建一个json以在Javascript中制作堆叠的条形图

list1 = ['2019-03-05', '2019-02-20', '2019-02-20', '2019-02-19', '2019-02-18', '2019-02-16', '2019-02-13', '2019-02-12', '2019-02-12', '2019-02-11', '2019-02-08', '2019-02-07', '2019-02-06', '2019-02-05', '2019-02-05', '2019-02-02', '2019-02-02', '2019-01-29', '2019-01-28', '2019-01-24', '2019-01-24', '2019-01-24', '2019-01-23', '2019-01-16', '2019-01-16', '2019-01-14', '2019-01-10', '2019-01-10', '2019-01-09', '2019-01-06', '2019-01-05', '2019-01-05', '2019-01-01']
list2 =['Type Error', 'Type Error', 'Type Error', 'Type Error', 'Segmenatation', 'Type Error', 'Type Error', 'Heap  Failure', 'Heap  Failure', 'Type Error', 'I/O Error', 'Type Error', 'Type2 Error', 'Type Error', 'Type Error', 'Type Error', 'Heap  Failure', 'Type2 Error', 'Heap I/O', 'CPU  Recovery Error', 'Type Error', 'Type Error', 'CPU  Recovery Error', 'CPU  Recovery Error', 'Heap I/O', 'Type2 Error', 'Heap  Failure', 'I/O Error', 'Heap I/O', 'Type Error', 'Type2 Error', 'Type Error', 'Type Error']

因此,我需要在下面提供的链接中绘制图https://plot.ly/javascript/bar-charts/#stacked-bar-chart

我试图使用默认的dict并获取单键多个值,但是链接中的json却大不相同。

请帮我。

试过这个,但没有结果

from collections import defaultdict
v = defaultdict(list)
for i in range(len(list1)):
  v[list1[i]].append(list2[i])
马克西米利安·彼得斯(Maximilian Peters)

对于堆积的条形图,Plotly期望每种数据类型都在单独的轨迹中。在您的情况下,您需要为每种错误类型创建一个条形图(假设您希望x轴和y轴上的日期为错误计数)。

对于小型列表,您可以在它们上循环并搜索匹配项。对于较大的数据集,Pandas(或类似的东西)应具有更高的性能并且更易于使用。

import collections
import plotly

list1 = ['2019-03-05', '2019-02-20', '2019-02-20', '2019-02-19', '2019-02-18', '2019-02-16', '2019-02-13', '2019-02-12', '2019-02-12', '2019-02-11', '2019-02-08', '2019-02-07', '2019-02-06', '2019-02-05', '2019-02-05', '2019-02-02', '2019-02-02', '2019-01-29', '2019-01-28', '2019-01-24', '2019-01-24', '2019-01-24', '2019-01-23', '2019-01-16', '2019-01-16', '2019-01-14', '2019-01-10', '2019-01-10', '2019-01-09', '2019-01-06', '2019-01-05', '2019-01-05', '2019-01-01']
list2 =['Type Error', 'Type Error', 'Type Error', 'Type Error', 'Segmenatation', 'Type Error', 'Type Error', 'Heap  Failure', 'Heap  Failure', 'Type Error', 'I/O Error', 'Type Error', 'Type2 Error', 'Type Error', 'Type Error', 'Type Error', 'Heap  Failure', 'Type2 Error', 'Heap I/O', 'CPU  Recovery Error', 'Type Error', 'Type Error', 'CPU  Recovery Error', 'CPU  Recovery Error', 'Heap I/O', 'Type2 Error', 'Heap  Failure', 'I/O Error', 'Heap I/O', 'Type Error', 'Type2 Error', 'Type Error', 'Type Error']

assert len(list1) == len(list2)

traces = []

# get a set of unique errors
for error in sorted(list(set(list2))):
    errors = collections.defaultdict(int)

    # check this particular error occurred on this date
    for ix, d in enumerate(list1):
        if list2[ix] == error:
            errors[d] += 1

    traces.append(plotly.graph_objs.Bar(x=list(errors.keys()),
                                        y=list(errors.values()),
                                        name=error))

layout = plotly.graph_objs.Layout(
    barmode='stack'
)
fig = plotly.graph_objs.Figure(data=traces, layout=layout)

plotly.offline.plot(fig)

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从两个列表中创建堆叠条形图:考虑一个是集群,另一个是标志

创建一个堆叠条形图,其中包含 2 个条形的 3 个轨迹

为 R 中同一图中的一个变量创建两个条形图

根据一个布尔列创建一个“堆叠”条形图

在 R 中创建一个带有 2 个条形图的条形图

如何在matplotlib熊猫中的一个图中组合两个文件的两个条形图

如何将两个数据框组合成一个图表,每个类我将有两个并排堆叠的条形图?

有没有一种方法可以将来自两个单独的堆叠条形图的列合并为一个图?

R中具有两个类别的堆叠条形图

ggplot中的条形图由两列堆叠并避开了另一个变量

将两个堆积条形图组合成一个分组堆积条形图

如何在Python中创建一个堆叠的条形图,其中每个变量的值之间存在间隙

Seaborn:如何为每个组创建一个带有两个变量的条形图?

Python-在一个绘图窗口中合并两个条形图

条形图:将一个堆叠的条与一个躲避的条组合

chat,js 堆叠条形图(将一个数据集做成堆叠)

如何创建一个双轴条形图?

从两个熊猫groupby对象绘制堆叠的条形图?

对具有两个级别ggplot2的堆叠条形图进行重新排序

具有两个关键DataFrame的堆叠条形图

R:具有两个分组顺序和三列数据的堆叠条形图

带有两个 Y 轴问题的水平堆叠条形图

我想为条形图扩展一个自定义函数,以便我可以堆叠条形图

熊猫:如何绘制一个有两个类别和四个系列的条形图?

需要显示一个堆叠的样式条形图,分为左图和右图

如何从一个数据框中绘制多个带有填充条形图的堆叠条形图

如何从Python中的两个列表制作一个json

将两个条形图组合成一个粘性页眉,其中顶部条形图更改高度

如何创建像给定图像一样结合两个条形值的java poi条形图?