如何从Ruby map修改数组映射数据结构?

如何从Ruby map修改数组映射数据结构?,ruby,Ruby,我相信我可能遗漏了一些东西,所以请耐心听我解释两种情况,以期调和我的误解: 我的最终目标是创建一个via可以接受的数据集,但是在这次探索中,我发现它对接收的数据格式非常特殊 A)我发现,如果将数据格式化为这样,它会很好地绘制点: [0.0000001240,0.0000000267,0.0000000722, ..., 0.0000000512] 我可以通过以下方法生成这样的数组: array = Array.new data.each do |row| array.push row[:

我相信我可能遗漏了一些东西,所以请耐心听我解释两种情况,以期调和我的误解:

我的最终目标是创建一个via可以接受的数据集,但是在这次探索中,我发现它对接收的数据格式非常特殊

A)我发现,如果将数据格式化为这样,它会很好地绘制点:

[0.0000001240,0.0000000267,0.0000000722, ..., 0.0000000512]
我可以通过以下方法生成这样的数组:

array = Array.new

data.each do |row|
  array.push row[:datapoint1].to_f
end
B)但是,如果我尝试使用
map
函数,我最终会得到如下结果,Highcharts无法呈现此数据:

[[6.67e-09],[4.39e-09],[2.1e-09],[2.52e-09], ..., [3.79e-09]]
源代码如下:

array = data.map{|row| [(row.datapoint1.to_f)] }
是否有办法引导map函数在B中生成更类似于场景a结果数据结构的结果?


这需要更多的参与,因为我还必须在其中添加日期时间,但是这是另一个主题,我只想首先了解这一点,以及可以做些什么来进一步控制我要去的地方

最后,根据此处示例中的数据,即使是场景B也应该有效:(按下底部的“查看选项”按钮)


见鬼,如果你能告诉我这一点,我会给你发封信的!;)

您可以像这样修复阵列

[[6.67e-09],[4.39e-09],[2.1e-09],[2.52e-09], ..., [3.79e-09]]
通过在数组上使用
flant
方法在其中嵌套数组的

但您首先应该能够避免生成嵌套数组。只需从
地图
行中删除方括号即可:

array = data.map{|row| row.datapoint1.to_f }

您可以像这样修复阵列

[[6.67e-09],[4.39e-09],[2.1e-09],[2.52e-09], ..., [3.79e-09]]
通过在数组上使用
flant
方法在其中嵌套数组的

但您首先应该能够避免生成嵌套数组。只需从
地图
行中删除方括号即可:

array = data.map{|row| row.datapoint1.to_f }
代码 输出 [“0.0000000067”、“0.0000000044”、“0.0000000021”、“0.0000000025”、“0.0000000038”]

代码 输出 [“0.0000000067”、“0.0000000044”、“0.0000000021”、“0.0000000025”、“0.0000000038”]


除非我也遗漏了什么,否则您的问题是,您正在从块返回一个元素数组(从而创建一个数组数组数组),而不仅仅是值。这应该可以帮助您:

array = data.map {|row| row.datapoint1.to_f }
# => [ 6.67e-09, 4.39e-09, 2.1e-09, 2.52e-09, ..., 3.79e-09 ]

除非我也遗漏了什么,否则您的问题是,您正在从块返回一个元素数组(从而创建一个数组数组数组),而不仅仅是值。这应该可以帮助您:

array = data.map {|row| row.datapoint1.to_f }
# => [ 6.67e-09, 4.39e-09, 2.1e-09, 2.52e-09, ..., 3.79e-09 ]

我不会抱怨图书馆“相当特别”。当您传递一个浮点数组时,它会起作用。当您传递一组数组时,它不起作用。这完全合理。你应该知道两者的区别,并知道应该使用哪一种。不幸的是@DavidGrayson似乎并非如此。如果你看看上面我在highcharts网站上给出的例子,数据结构是一个数组数组。现在,我可以理解为什么它不喜欢嵌入到数组中的浮点,但是我的问题的真正症结仍然存在,尽管我发布了这个特别有限的问题。我希望能够深入了解为什么另一个[[date_int,float],[date_int,float],…]的场景不起作用,但当我将输出与该示例精确地对齐时,我仍然处于进退两难的境地。所以,是的,苦乐参半的结局到目前为止,我不会抱怨图书馆“相当特别”。当您传递一个浮点数组时,它会起作用。当您传递一组数组时,它不起作用。这完全合理。你应该知道两者的区别,并知道应该使用哪一种。不幸的是@DavidGrayson似乎并非如此。如果你看看上面我在highcharts网站上给出的例子,数据结构是一个数组数组。现在,我可以理解为什么它不喜欢嵌入到数组中的浮点,但是我的问题的真正症结仍然存在,尽管我发布了这个特别有限的问题。我希望能够深入了解为什么另一个[[date_int,float],[date_int,float],…]的场景不起作用,但当我将输出与该示例精确地对齐时,我仍然处于进退两难的境地。是的,苦乐参半的结尾我漏掉了很多其他的逻辑,实际上在那个块里,但大致上我迷失在逻辑中,只需要按照@DavidGrayson的第一篇博文拔掉括号。我漏掉了很多其他的逻辑,实际上在那个块里,但大致上,我迷失在逻辑中,只需要按照@DavidGrayson的第一篇帖子猛拉括号。