朱莉娅:PlotlyJS和相关的酒吧子图

时间:2017-08-19 13:54:58

标签: charts julia plotly

我最近开始使用PlotlyJS。

我正在尝试创建相对条形图的子图(条形图与barmode = relative)。不幸的是,当它们成为子图时,条形图似乎失去了它们的barmode属性。例如:

# PlotlyJS
using PlotlyJS;
pltjs = PlotlyJS

function bar1()
    trace1 = pltjs.bar(;x=[1, 2, 3, 4], y=[1, 4, 9, 16], name="Trace1")
    trace2 = pltjs.bar(;x=[1, 2, 3, 4], y=[6, -8, -4.5, 8], name="Trace2")
    data   = [trace1, trace2];

    layout = pltjs.Layout(;xaxis_title="X axis",
                           yaxis_title="Y axis",
                           barmode="relative",
                           title="Relative 1");
    pltjs.plot(data, layout)
end


function bar2()
    trace3 = pltjs.bar(;x=[1, 2, 3, 4], y=[-15, -3, 4.5, -8], name="Trace3")
    trace4 = pltjs.bar(;x=[1, 2, 3, 4], y=[-1, 3, -3, -4], name="Trace4")
    data   = [trace3, trace4];

    layout = pltjs.Layout(;xaxis_title="X axis",
                           yaxis_title="Y axis",
                           barmode="relative",
                           title="Relative 2");
    pltjs.plot(data, layout)
end

p1 = bar1();
pltjs.savefig(p1, "./fig1.pdf") # This works

p2 = bar2();
pltjs.savefig(p2, "./fig2.pdf") # This works

p3 = [bar1() bar2()];
pltjs.savefig(p3, "./fig3.pdf") # This doesn't works

我在其他语言中看到过类似的问题,但我找不到朱莉娅的解决方法。你能解释一下我为什么不工作以及如何解决它?

1 个答案:

答案 0 :(得分:1)

我设法使用以下代码执行此操作:

p3.plot.layout["barmode"] = "relative";