【问题标题】:dimple.js Scatter Plot issuesdimple.js 散点图问题
【发布时间】:2014-11-07 02:14:14
【问题描述】:

在下面的代码中,我绘制了一个散点图。我有几个问题。 渲染的图表可以在这里找到:https://jsfiddle.net/dizzy0ny/ch2187dd/4/

   var data1 = [
      {"x":0.123,"y":0.046},
      {"x":0.032,"y":-0.0345},
      {"x":-0.044,"y":-0.0505},
      {"x":0.05,"y":0.076},
      {"x":0.04,"y":0.036},
      {"x":-.034,"y":0.029},
      {"x":-.023,"y":0.087},
      {"x":0.034,"y":0.067},
      {"x":0.024,"y":0.048},
      {"x":0.087,"y":-0.09},
    ]; 
    var svg = dimple.newSvg("#chartContainer", 600,600);

      var myChart = new dimple.chart(svg);
      myChart.setBounds(90, 35, 480, 400)
      xAxis = myChart.addCategoryAxis("x", "x");
      yAxis = myChart.addCategoryAxis("y", "y");
      xAxis.showGridlines = true;
      yAxis.showGridlines = true;
      xAxis.tickFormat = '%'
      yAxis.tickFormat = '%'
      yAxis.ticks = 5 
      xAxis.ticks = 5 
      s1 = myChart.addSeries("Price Tier", dimple.plot.bubble, [xAxis, yAxis]);
      s1.data = data1
      myChart.addLegend(90, 480, 330, 20, "left");
      myChart.draw();
  1. 为什么轴刻度属性不起作用?在上面我只想要沿轴的 5 个标签
  2. 请注意,图表中的“5%”和“3%”作为标签显示了两次。有没有办法防止这种情况发生?
  3. 请注意图表中间的奇数垂直空白,应该是“0%”线。为什么没有显示 0%,为什么 x 轴的那个点没有垂直线?
  4. 为什么在 y 垂直轴上没有线(就像您在标签上方的 x 轴上看到的那样?
  5. 最后,有没有一种简单的方法可以在此图表上绘制回归线?

非常感谢

【问题讨论】:

    标签: d3.js dimple.js


    【解决方案1】:

    您使用了类别轴,它是不同值的序数轴。这就是您描述的行为的原因,它们被视为文本值而不是数字。尝试使用这样的测量轴:

    xAxis = myChart.addMeasureAxis("x", "x");
    yAxis = myChart.addMeasureAxis("y", "y");
    

    您还需要调整系列以包含 x 和 y 维度,否则它们将被聚合:

    s1 = myChart.addSeries(["x", "y", "Price Tier"], dimple.plot.bubble, [xAxis, yAxis]);
    

    它正在工作。

    https://jsfiddle.net/ch2187dd/5/

    回归线是一个单独的问题,没有开箱即用的方法,您需要手动计算点。

    【讨论】:

    • 谢谢...我遇到了聚合“功能”,这就是我使用 addCategoryAxis 的原因。会试试这个。
    • 这里我在这张图表的顶部画了一条线:jsfiddle.net/ch2187dd/7。如果我使用所有三个维度,你能解释为什么它绘制为气泡,但是当我只使用 2 个维度时它绘制为线?试图了解这里的尺寸因素...
    • addSeries 的第一个参数定义了凹坑需要分组的尺寸,以确定单个系列。 2 度量折线图是一个稍微不寻常的情况,因为它按第一个维度分组,并为传递的其他维度的每个组合绘制一个系列。 ["x", "line"] 之所以有效,是因为它为“x”获得 2 分,并为“line”的每个不同值绘制一个系列,在这种情况下,在每一行上都未定义,所以你得到 1 个系列。 ["x", "y", "line"] 不起作用,因为它按 "x" 分组并为 "y" 和 "line" 的每个不同值绘制一个系列。
    • 这意味着 2 个系列,每个系列都有一个点。当一个线系列中只有一个点时,它会绘制一个标记来表示一条没有长度的线。
    • Thankyou..希望你说的“有点不寻常”并不意味着我是在无意中这样做的。如果有更好的方法,请告诉我
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-28
    • 1970-01-01
    • 2020-10-04
    • 1970-01-01
    • 1970-01-01
    • 2018-07-30
    • 2022-07-14
    相关资源
    最近更新 更多