【问题标题】:Violin plots are not shown correctly in d3.js appd3.js 应用程序中未正确显示小提琴图
【发布时间】:2019-01-11 17:25:53
【问题描述】:

我提供了从这里绘制小提琴图的代码:

http://bl.ocks.org/asielen/1a5e8d77ae8feb464167

在我的React 应用程序中,一切正常,除了Violin plotBean plot 看起来非常错误:

设置图表的代码:

plotSelected = (e) => {
  let id = e.target.id;
  ...
  ...
} else if (id === "violin-plot-unbound") {
  violinPlot.violinPlots.show({reset:true,clamp:0});
  violinPlot.boxPlots.show({reset:true,   
showWhiskers:false,showOutliers:false,boxWidth:10,lineWidth:15,colors: 
 ['#555']});
  violinPlot.notchBoxes.hide();
  violinPlot.dataPlots.change({showPlot:false,showBeanLines:false});
} else if (id === "violin-plot-clamp") {
    violinPlot.violinPlots.show({reset:true,clamp:1});
    violinPlot.boxPlots.show({reset:true, 
 showWhiskers:false,showOutliers:false,boxWidth:10,lineWidth:15,colors:['#555']});
  violinPlot.notchBoxes.hide();
  violinPlot.dataPlots.change({showPlot:false,showBeanLines:false});
 ...
 ...
}

plotSelected() 函数由render() 方法中的按钮点击触发。

其他图表看起来很完美,所以不知何故只有这两个搞砸了,所以我想它需要在distrocharts.js 中修复,而不是在我的React 代码中修复。我认为是violinPlots.show({reset:true,clamp:0}) 函数指向violinPlots.change,我们可以在distrocharts.js616 线上看到violinPlots.prepareViolin()。从那里我无法弄清楚如何解决它。任何建议将不胜感激。

【问题讨论】:

    标签: javascript d3.js violin-plot


    【解决方案1】:

    这与小提琴的clamp 选项有关。应该设置为-1

    【讨论】:

      【解决方案2】:

      我为prepareViolin() 复制了旧代码(来自distrochart.js 的早期版本),它开始工作了。因此,只要需要有效的小提琴图,页面上的“请使用最新版本”的建议可能不应该被遵循。

      【讨论】:

        猜你喜欢
        • 2021-11-22
        • 1970-01-01
        • 1970-01-01
        • 2015-12-23
        • 2019-09-24
        • 2016-07-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多