Простой способ построения и отображения массивов? - PullRequest
2 голосов
/ 14 ноября 2010

Первый пост здесь. Использование C в Visual Studio 2008. При необходимости может работать с VS 2005.

  1. Как отобразить числовые данные в массивах, как в электронной таблице?
  2. Как отобразить числовые данные в массивах?

Кажется, это простые вопросы. Но я не могу найти решения. До сих пор я распечатывал данные в файл, импортировал в Excel и просматривал / строил. Однако, с этим кодом слишком много массивов - поэтому печать / импорт / печать утомительны. Некоторые ограничения.

  1. Я не хочу писать более 20 строк кода для выполнения вышеизложенного. MATFOR или Array Visualizer позволяют выполнять построение с помощью однострочного вызова функции.
  2. Они не могут отображать данные в удобном формате. Я хотел бы отобразить данные и график в одном или двух окнах, чтобы они были видны одновременно.
  3. Это консольное приложение win32 - весь код переносим.
  4. Будет использовать их во время отладки.
  5. Бесплатно или платно.

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

PS: мне это нужно только при отладке кода.

Ответы [ 6 ]

1 голос
/ 05 сентября 2012

Я использую ArrayDebugView , который является плагином, который вы устанавливаете в Visual Studio, и рисует графики из массивов во время отладки приложения.Он работает как визуальный способ наблюдения за переменными в режиме отладки.Вам не нужно писать строку кода.

0 голосов
/ 09 мая 2013

Есть несколько способов сделать это, но это потребует написания некоторого кода. Визуализация данных, как правило, проста и понятна, но визуализация данных именно так, как вы хотите, чтобы они выглядели, потребует дополнительного кода и работы.

Существует несколько вариантов визуализации данных:

Сочетание BASH и GNUPLOT

Используйте MATLAB или OCTAVE для всех ваших расчетов и визуализации

Используйте библиотеки PYTHON и SciPy и matlibplot.

Gnuplot - отличный инструмент для построения графика данных, но его использование громоздко. Это выглядит потрясающе, если вы потратите время, чтобы получить правильные графики, отлично сочетаются с LaTeX и имеют хорошую реализацию для произвольных функций. Посетите http://gnuplot -tricks.blogspot.ch / отличный сайт, чтобы узнать все о gnuplot.

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

Использование PYTHON и его научных библиотек программирования (SciPy и matlibplot) - отличная комбинация. Это позволяет создавать отличные графики, которые не так загадочны, как gnuplot, и что они более гибкие, чем MATLAB при построении графиков. Кроме того, это дает вам среду для числового программирования, такую ​​как MATLAB.

0 голосов
/ 05 сентября 2012

Я сделал для этого простую программу для черчения.Существует только текстовое поле, в которое я вставляю данные, и диаграмму, в которой они нарисованы.

Данные должны быть в любой форме:

  • с автоматическим X (приращение на 1 длякаждое значение): значение seriesName
  • для указанных значений X и Y: seriesName xvalue yvalue

Большую часть времени я использовал дляданные графика от точек трассировки.Я копирую / вставляю все окно вывода VS, программа печати игнорирует все, что не соответствует этим двум формам (поэтому мне не нужно очищать строку и помещать ее в excel и все).

Это делает линии, точки, столбцы, области диаграммы и сохранить изображение, скопировать в буфер обмена.

enter image description here

MiniPlot

0 голосов
/ 15 ноября 2010

Я использую GNUPlot (http://www.gnuplot.info/) для отображения моих измерений производительности / ускорения. Я печатаю свои цифры на стандартный вывод и пишу скрипт bash, который объединяет эти числа, и вызывает gnuplot для рендеринга.

0 голосов
/ 15 ноября 2010

Для отображения числовых данных в массиве, вы должны добавить указатель на первый элемент данных, который вы хотите наблюдать, в часы - если вы хотите наблюдать массив с самого начала, это будет просто массивимя, которое является указателем на первый элемент.Чтобы просмотреть более одного элемента, вы добавляете «,» после указателя, за которым следует номер элемента, который вы хотите наблюдать.Например, чтобы наблюдать за элементами float farray[100];, вы должны добавить к часам farray,100.

.), но это не очень удобно, так как вы не можете скопировать один столбец данных, но также столбцы слева и справа, так что это требует дополнительного ручного редактирования.

0 голосов
/ 14 ноября 2010

Я не могу представить ни одну библиотеку, которая включала бы то, что вы хотите в консольном приложении, менее чем в 20 строках кода.Вместо этого я бы предложил написать сценарий для шага черчения, используя MATLAB og GNU Octave для выполнения реального черчения.

...