Экспорт матриц из Ruby массивов и визуализация - PullRequest
0 голосов
/ 13 февраля 2020

Итак, если вы когда-нибудь сталкивались с идеей визуализации матрицы, и вы в Ruby, я не совсем уверен, как бы вы go сделали это.

Есть несколько библиотек, которые позволяют строить массивы данных. Но я смотрю на что-то совсем другое, чем то, что я делал раньше. Если вы внимательно посмотрите на изображение, у меня есть очень большая матрица данных, которую я sh смогу увидеть в другой программе. Примерно 1 тысяча строк и около ста столбцов.

Я считаю, что причина, по которой у меня возникла такая проблема, не обязательно связана с тем, что я не могу сделать, но из-за того, чего мне не хватает и что я не знаю.

Я пишу, потому что должно быть более простое решение для визуализации этого. Я пробовал электронные таблицы в файлах CSV и OpenOffice .ods. Но они недостаточны для этого, несмотря на то, что они отлично подходят для организации множества наборов данных.

Теперь о матрице. Для каждой строки есть периоды времени, представленные буквами. Для каждого из этих периодов времени первым элементом в этих массивах являются цены, по которым время было раньше.

prices = [[9234.5, ['k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's']], [9234.0, ['a', 'b', 'c', 'd']], (...) ]

Я ценю любые ваши отзывы по этому вопросу. Я надеюсь найти кого-нибудь опытного в этом вопросе, потому что я определенно очень плохо разбираюсь в интерфейсе и визуализации данных.

https://i.stack.imgur.com/5UIWa.png

1 Ответ

1 голос
/ 14 февраля 2020

Если мое правое полушарие хорошо мне подходит, вы хотите приблизить предоставленную вами компоновку изображения с данными в предоставленном вами массиве. Если это так, это может быть так просто:

 prices.each { |row| print "#{row}\n" }

Все, что нужно сделать, это взять каждый элемент внешнего массива и напечатать его в отдельной строке.

Результат вышеупомянутого выглядит следующим образом:

[9234.5, ["k", "l", "m", "n", "o", "p "," q "," r "," s "]]
[9234.0, [" a "," b "," c "," d "]]

Теперь вы можете (и вполне можете захотеть) потратить некоторое время на написание чего-то более сложного для каждой строки, например, используя внутренний #each - go через каждый из внутренних элементов и печатая их в каком-то формате (например, по центру в пяти местах, с вертикальной чертой справа). Но основная идея c состоит в том, чтобы печатать каждый из внешних элементов в отдельной строке. Каждый из них является строкой в ​​вашем изображении.

...