Инструменты визуализации данных для Linux

Краткий обзор шести графических утилит с открытым исходным кодом

В Linux существует множество различных приложений визуализации данных, от построения двумерных графиков до трехмерных поверхностей, научного графического программирования и графического моделирования. К счастью, существует множество систем с открытым исходным кодом, в число которых входят gnuplot, GNU Octave, Scilab, MayaVi, Maxima, OpenDX и другие. Каждый из этих продуктов имеет свои преимущества и недостатки и нацелен на решение собственных задач. Для того чтобы решить, какой из инструментов графической визуализации с открытым исходным кодом лучше подходит для решения ваших задач, необходимо изучить множество таких инструментов. [В статью было добавлено описание OpenDX - прим. ред.]

М. Тим Джонс, инженер-консультант, Emulex

M. Тим Джонс (M. Tim Jones) является архитектором встраиваимого программного обеспечения и автором работ: Программирование Приложений под GNU/Linux, Программирование AI-приложений и Использование BSD-сокетов в различных языках программирования. Он имеет опыт разработки процессоров для геостационарных космических летательных аппаратов, а также разработки архитектуры встраиваемых систем и сетевых протоколов. Сейчас Тим работает инженером-консультантом в корпорации Эмулекс (Emulex Corp.) в г.Лонгмонт, Колорадо.



17.01.2007

Краткий перечень инструментов визуализации

В этой статье я рассмотрю несколько популярных инструментов визуализации данных для Linux, а также познакомлю вас с некоторыми из их возможностей. Например, предоставляет ли инструмент язык для выполнения численных вычислений? Является ли инструмент интерактивным или работает исключительно в пакетном режиме? Можете ли вы использовать инструмент для цифровой обработки сигналов или изображений? Предоставляет ли инструмент языковые средства связи для поддержки интеграции в приложения пользователя (написанные на языках программирования Python, Tcl, Java и т.п.)? Также я продемонстрирую графические возможности инструментов. И, наконец, я обозначу сильные стороны каждого из инструментов, чтобы помочь вам принять решение о том, какой из них больше подходит для ваших вычислительных задач или задач визуализации данных.

Ниже приводится список описываемых мной инструментов с открытым исходным кодом (с указанием соответствующей лицензии):

  • Gnuplot (GPL)
  • GNU Octave (GPL)
  • Scilab (Scilab)
  • MayaVi (BSD)
  • Maxima (GPL)
  • OpenDX (IBM Public License)

Gnuplot

Gnuplot - это великолепный инструмент визуализации, существующий с 1986 года. Трудно найти дипломную работу или диссертацию, в которой нет графиков gnuplot. Несмотря на то, что управление gnuplot производится из командной строки, он вырос со своих весьма скромных начальных этапов до поддержки целого ряда неинтерактивных приложений; в частности, он используется в качестве механизма построения графиков для пакета GNU Octave.

Gnuplot является портируемым приложением, работающим на UNIX®, Microsoft® Windows®, Mac OS® X и множестве других платформ. Он поддерживает широкий спектр выходных форматов, начиная от postscript и заканчивая современным PNG.

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

В комплект gnuplot также входит стандартная библиотека математических функций, которая соответствует библиотеке UNIX. В качестве аргументов для функций поддерживаются целые, действительные и комплексные числа. Библиотеку математических функций можно настроить на использование радианов или градусов (по умолчанию используются радианы).

С помощью команды plot Gnuplot может генерировать двумерные графики, а с помощью команды splot - трехмерные графики (в двумерных проекциях). В команде plot gnuplot может работать в декартовой или полярной системе координат. По умолчанию в команде splot используется декартова система координат, но система также поддерживает сферические и цилиндрические координаты. Также вы можете наложить на график контурные линии (как показано на приведенном ниже рисунке 1). Новый стиль отображения графиков, pm3d, поддерживает вывод трехмерных и четырехмерных данных с цветовой проекцией в виде карт и поверхностей.

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

Листинг 1. Простой вывод графика функцией gnuplot
set samples 25
set isosamples 26
set title "Test 3D gnuplot"
set contour base
set hidden3d offset 1
splot [-12:12.01] [-12:12.01] sin(sqrt(x**2+y**2))/sqrt(x**2+y**2)

Из листинга 1 видно, как просто использовать набор команд пакета gnuplot. Частота отсчетов и плотность графика определяются параметрами "samples" и "isosamples", а параметр "title" определяет заголовок графика. Включается базовый контур, удаляются невидимые линии и с помощью команды splot, использующей функции встроенной математической библиотеки, строится график синусоиды. Результат представлен на рисунке 1.

Рисунок 1. Простой график gnuplot
Простой график gnuplot

Помимо создания графиков функций, gnuplot великолепно подходит для составления графика по данным, содержащимся в файле. Рассмотрим пары данных (x, y), представленные в листинге 2 (показан отрывок файла). Пары чисел, содержащиеся в файле, представляют координаты x и y в двумерном пространстве.

Листинг 2. Пример файла данных для gnuplot (data.dat)
88 99
79 98
76 89
60 85
...
60 22

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

Листинг 3. Сценарий Gnuplot для построения графика по данным из листинга 2
set title "Sample data plot"
plot 'data.dat' using 1:2 t 'data points', \
  "data.dat" using 1:2 t "lines" with lines

Результат показан на рисунке 2. Следует отметить, что gnuplot автоматически устанавливает масштаб осей, однако если вам нужно изменить положение графика, вы можете управлять этим параметром.

Рисунок 2. Простой график gnuplot, построенный по файлу данных
Простой график gnuplot, построенный по файлу данных

Gnuplot является великолепным инструментом для визуализации, он хорошо известен и поставляется в составе множества дистрибутивов GNU/Linux. В то же время, если вам требуется базовая визуализация данных и численные расчёты, возможно, лучшим выбором будет GNU Octave.


GNU Octave

GNU Octave представляет собой язык высокого уровня, предназначенный в основном для численных расчётов, и является привлекательной альтернативой коммерческому пакету Matlab компании The MathWorks. В отличие от простого набора команд, предлагаемых gnuplot, Octave предоставляет богатый язык математического программирования. Вы можете даже написать приложение на C или C++, а затем настроить его взаимодействие с Octave.

Пакет Octave был написан примерно в 1992 году как вспомогательная программа для учебника по проектированию химических реакторов. Авторы хотели помочь студентам решать проблемы с проектированием реакторов, а не отлаживать программы на Фортране. В результате получился удобный язык и интерактивная среда для решения численных задач.

Пакет Octave может работать в режиме сценариев, интерактивно или посредством привязки к языку C или C++. В пакете Octave реализован богатый язык, похожий на C и обладающий очень большой библиотекой математических функций, в том числе специализированных функций обработки сигналов и изображений, обработки звука и автоматического управления.

Поскольку в качестве внутреннего механизма Octave используется gnuplot, всё, что можно вывести с помощью gnuplot, можно вывести и с помощью Octave. В Octave реализован более богатый язык для вычислений, что является его очевидным преимуществом, но вы всё же будете ограничены возможностями gnuplot.

В приведенном ниже примере, взятом с сайта Octave-Forge (SimpleExamples), я вывел график странного аттрактора Лоренца. В листинге 4 показан интерактивный диалог Octave на платформе Windows с использованием Cygwin. Этот пример демонстрирует использование lsode, функции решения обыкновенных дифференциальных уравнений.

Листинг 4. Визуализация странного аттрактора Лоренца с помощью Octave
GNU Octave, version 2.1.50 
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 John W. Eaton.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTIBILITY or
FITNESS FOR A PARTICULAR PURPOSE.  For details, type `warranty'.

Please contribute if you find this software useful.
For more information, visit http://www.octave.org/help-wanted.html

Report bugs to <bug-octave&bevo.che.wisc.edu>.

>> function y = lorenz( x, t )
y = [10 * (x(2) - x(1));
x(1) * (28 - x(3));
x(1) * x(2) - 8/3 * x(3)];
endfunction
>> x = lsode("lorenz", [3;15;1], (0:0.01:25)');
>> gset parametric
>> gsplot x
>>

График, представленный на рисунке 3, показывает результат работы кода Octave из листинга 4.

Рисунок 3. Аттрактор Лоренца, построенный с помощью Octave
Аттрактор Лоренца, построенный с помощью Octave

С помощью функции multiplot программа GNU Octave (в сочетании с gnuplot) может построить несколько графиков на одной странице. Эта функция позволяет вам указать, сколько графиков необходимо создать, после чего задать отдельные графики с помощью команды subwindow. После определения подокна (subwindow) вы строите график обычным образом, после чего переходите к следующему подокну (как показано в листинге 5).

Листинг 5. Создание нескольких графиков в Octave
>> multiplot(2,2)
>> subwindow(1,1)
>> t=0:0.1:6.0
>> plot(t, cos(t))
>> subwindow(1,2)
>> plot(t, sin(t))
>> subwindow(2,1)
>> plot(t, tan(t))
>> subwindow(2,2)
>> plot(t, tanh(t))

Получившаяся страница с несколькими графиками показана на рисунке 4. Эта великолепная возможность объединения связанных между собой графиков для проведения сравнения.

Рисунок 4. Несколько графиков на одной странице в реализации GNU Octave
Несколько графиков на одной странице в реализации GNU Octave

Пакет Octave можно рассматривать как язык высокого уровня, который использует для визуализации механизм gnuplot. Он предоставляет богатую библиотеку математических функций и является отличной бесплатной заменой пакету Matlab. Кроме того, его можно расширить пакетами для обработки речи, оптимизации, символьных вычислений и т.п., разработанными пользователями. Пакет Octave входит в состав некоторых дистрибутивов GNU/Linux, например, Debian, также его можно использовать в Windows, совместно с Cygwin и в Mac OS X. Дополнительную информацию о пакете Octave можно найти в разделе Ссылки


Scilab

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

Scilab был разработан в 1994 году во Франции, в Национальном исследовательском институте информатики и автоматизации (Institut national de recherche en informatique et en automatique, INRIA) и Национальной школе дорожного ведомства (École Nationale des Ponts et Chaussées, ENPC). С 2003 года поддержкой Scilab занимается консорциум Scilab Consortium.

В состав пакета Scilab входит большая библиотека математических функций, расширяемая программами, написанными на языках высокого уровня, например, на C или Фортране. Кроме того, он отличается возможностью переопределения типов данных и операций. В состав пакета входит интегрированный язык высокого уровня, отличающийся в некоторой степени от языка C.

Для пакета Scilab существует масса наборов инструментальных средств, реализованных сообществом пользователей. Они позволяют строить двумерные и трехмерные графики и анимацию, проводить оптимизацию, статистические вычисления, строить графы и сети, выполнять обработку сигналов, моделировать динамические системы, а также открывают множество других возможностей.

Scilab можно использовать на большинстве систем UNIX, а также на современных операционных системах Windows. Так же как GNU Octave, пакет Scilab обладает отличной документацией. Поскольку это европейский проект, вы можете найти документацию и статьи не только на английском, но и на множестве других языков.

При запуске пакета Scilab появляется окно, позволяющее вам взаимодействовать с интерпретатором (см. рисунок 5).

Рисунок 5. Работа в пакете Scilab
Работа в пакете Scilab

В этом примере я создал вектор (t) со значениями от 0 до 2PI (с шагом 0,2). После этого я построил трехмерный график (используя функцию z=f(x,y), или поверхность в точке xi,yi). На рисунке 6 показан получившийся график.

Рисунок 6. График, построенный Scilab в результате выполнения команд, заданных на рисунке 5
График, построенный Scilab в результате выполнения команд, заданных на рисунке 5

В состав пакета Scilab входит множество библиотек и функций, которые позволяют максимально просто строить графики. Рассмотрим пример с построением простой трехмерной гистограммы:

-->hist3d(5*(rand(5,5));

Сначала команда rand(5,5) строит матрицу случайных значений (которые я ограничил сверху значением 5) размером (5,5). Эта матрица передается функции hist3d. Получившаяся в результате гистограмма показана на рисунке 7.

Рисунок 7. Создание трехмерной гистограммы по случайным числам
Создание трехмерной гистограммы по случайным числам

Пакеты Scilab и Octave схожи между собой. У обоих есть сообщества с большим числом участников. Пакет Scilab написан на Fortran 77, а Octave - на C++. Пакет Octave использует для визуализации пакет gnuplot; в Scilab реализован собственный механизм. Если вы знакомы с Matlab, правильным выбором будет Octave, поскольку он стремится к совместимости с ним. В состав пакета Scilab входит множество математических функций, к тому же он очень хорош для обработки сигналов. Если вы всё ещё не уверены, какой из двух вариантов выбрать - попробуйте оба. Оба пакета великолепны и вы можете использовать оба для решения различных задач.


MayaVi

MayaVi, что в переводе с санскрита обозначает "волшебник", представляет собой инструмент визуализации данных, связываемый с языком Python. Для вывода графики в нем используется мощный инструментарий визуализации Visualization Toolkit (VTK). В состав пакета MayaVi также входит графический интерфейс пользователя, разработанный с помощью модуля Tkinter. Tkinter - это интерфейс Tk, чаще всего используемый в связке с Tcl.

Изначально MayaVi разрабатывался как инструмент визуализации для вычислительной гидродинамики (Computational Fluid Dynamics, CFD). После того, как стала понятна польза от его применения в других областях, он был перепрофилирован как общенаучный инструмент визуализации данных.

Пакет MayaVi опирается на мощь VTK. VTK - это система визуализации данных и обработки изображений с открытым исходным кодом, которая широко используется в научном сообществе. VTK предлагает потрясающие возможности, обладая, помимо библиотек C++, интерфейсами для языков сценариев Tcl/Tk, языка программирования Java и Python. VTK перенесен на множество операционных систем, в том числе UNIX, Windows и MAC OS X.

Оболочка MayaVi к VTK может быть импортирована как модуль Python в другие программы Python и может использоваться в сценариях, выполняемых в интерпретаторе Python. Графический интерфейс tkinter, поставляемый с MayaVi, позволяет выполнять настройку и применение фильтров, а также управлять эффектами освещения при визуализации.

На рисунке 8 показан пример визуализации с помощью MayaVi на платформе Windows.

Рисунок 8. Трехмерная визуализация в MayaVi (данные компьютерной томографии сердца)
Трехмерная визуализация в MayaVi (данные компьютерной томографии сердца)

MayaVi представляет собой интересный пример внедрения VTK в язык сценариев Python.


Maxima

Maxima является полнофункциональной программой для проведения символьных и численных расчетов, подобной Octave и Scilab. Развитие пакета Maxima началось в конце 1960-х годов в Массачусетском технологическом институте (MIT) и продолжается по сей день. Первоначальная версия (система компьютерных алгебраических вычислений) называлась DOE Macsyma и определила путь для дальнейшего развития ряда широко известных приложений, в частности, Mathematica.

Пакет Maxima предоставляет привлекательный набор традиционных возможностей (например, дифференциальное и интегральное исчисление, решение линейных и нелинейных систем уравнений), а также возможности символьных вычислений. При написании программ в пакете Maxima вы можете использовать традиционные операторы образования циклов и условий. Кроме того, в пакете Maxima вы можете найти намёк на Lisp (это видно из функций, например, quoting, map и apply). Пакет Maxima написан на Lisp, поэтому в рамках сеансов Maxima можно выполнять код Lisp.

В Maxima встроена отличная система интерактивной справки, построенная на базе гипертекста. Например, если вы желаете знать, как работает определенная функция Maxima, вы можете просто ввести example( desolve ), и пакет предложит вам несколько примеров использования.

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

Maxima схож с пакетами Octave и Scilab в наличии интерпретатора, обеспечивающего взаимодействие с пользователем. Результаты отображаются либо в том же, либо во вновь открывшемся окне. На рисунке 9 я подаю запрос на построение простого трехмерного графика.

Рисунок 9. Работа с пакетом Maxima
Работа с пакетом Maxima

Получившийся график показан на рисунке 10.

Рисунок 10. График, построенный Maxima в результате выполнения команд, заданных на рисунке 9
График, построенный Maxima в результате выполнения команд, заданных на рисунке 9

Open Data Explorer (OpenDX)

Обзор инструментов визуализации был бы неполон без краткого описания Open Data Explorer (OpenDX). OpenDX - это версия с открытым исходным кодом мощного инструмента Visualization Data Explorer производства корпорации IBM. Впервые этот инструмент был выпущен в 1991 году как Visualization Data Explorer, теперь он доступен в открытом исходном коде для выполнения визуализации данных, а также построения на его основе универсальных приложений для визуализации данных.

OpenDX обладает множеством уникальных отличительных особенностей, но особого внимания заслуживает его архитектура. В OpenDX используется клиент-серверная модель, в которой клиентские и серверные приложения могут работать на разных узлах. Это позволяет запускать сервер на системах с большой мощностью, предназначенных для решения числовых задач большого объёма (например, многопроцессорных системах с совместно используемой памятью), а клиенты могут работать отдельно на более слабых машинах, более приспособленных для отображения графики. OpenDX даже позволяет разделить проблему между несколькими, даже разнородными, серверами, для параллельного решения.

OpenDX поддерживает визуальную модель программирования потоков данных, которая позволяет графически задавать программы визуализации (см. рисунок 11). Каждая из закладок определяет "страницу" (подобие функции). Обработка данных производится путем показанных преобразований; например, средний модуль "Collect" собирает в группу объекты на входе и передает их на выход (в рассматриваемом примере - модулю "image", который выводит изображение, и модулю "AutoCamera", который указывает, как это изображение просматривать).

Рисунок 11. Визуальное программирование в OpenDX
Визуальное программирование в OpenDX

В состав OpenDX даже входит конструктор модулей Module Builder, который помогает вам строить собственные модули.

На рисунке 12 показан пример изображения, созданного OpenDX (рисунок взят из учебника по физической океанографии для OpenDX, подготовленного университетом Далхаузи). Данные представляют строение суши, а также глубины моря (батиметрия).

Рисунок 12. Визуализация данных в OpenDX
Визуализация данных в OpenDX

OpenDX представляет собой наиболее мощный и универсальный инструмент визуализации данных из описанных в этой статье, но также он является и самым сложным. К счастью, существует множество учебников и книг, написанных вам в помощь. Ссылки на них можно найти в разделе Ссылки


Идем дальше

В этой статье я представил лишь несколько инструментов для визуализации данных с открытым исходным кодом для GNU/Linux. Среди других полезных инструментов можно упомянуть Gri, PGPLOT, SciGraphica, plotutils, NCAR Graphics и ImLib3D. Все они распространяются с открытым исходным кодом, что позволяет вам видеть, как они работают, и изменять их по необходимости. Также, если вам необходима отличная среда графического моделирования, познакомьтесь с Open Dynamics Engine (ODE), работающим в сочетании с OpenGL.

Вам необходимо определить, какой из инструментов лучше подходит для вас. Если вам нужна мощная система визуализации с множеством различных алгоритмов визуализации - вам нужен пакет MayaVi. Для выполнения численных расчетов подойдут GNU Octave и Scilab. Если вам необходимо выполнять символические вычисления, подходящей альтернативой будет Maxima. И последнее, но не менее важное - если вам нужны базовые возможности построения графиков, gnuplot будет отличным решением.

Ресурсы

Научиться

  • Оригинал статьи "Data visualization tools for Linux".
  • Не так часто задаваемые вопросы Лос-Аламосской национальной лаборатории - великолепный ресурс для использования gnuplot и поиска ответов на некоторые наиболее сложные вопросы, касающиеся gnuplot.
  • Найти множество сценариев, функций и расширений для Octave можно в GNU Octave Repository. Там же вы найдете инструкции по добавлению собственных рецептов в сообщество octave-forge.
  • Учебники по Data Explorer, предоставляемые институтом физической океанографии Далхаузи, отлично продемонстрируют возможности DX.
  • Если область ваших интересов больше относится к статистике, прочтите серию из трех статей "Статистическое программирование в R" ("Statistical programming with R.") В первой части, "Dabbling with a wealth of statistical facilities" (developerWorks, сентябрь 2004 г.), описываются характеристики инструментария, во второй части, "Functional programming and data exploration" (developerWorks, октябрь 2004 года), более подробно рассматриваются функциональные возможности языка R, а в третьей части, "Reusable and object-oriented programming" (developerWorks, январь 2006 г.) раскрываются объектно-ориентированные возможности и общие идеи программирования на R.
  • Программистам на Python, которых интересует быстрый способ обработки массивов, следует обратить внимание на статью "Numerical Python" (developerWorks, октябрь 2003 года).
  • В зоне Linux сайта developerWorks вы найдете ресурсы для разработчиков Linux.
  • Следите на последними новостями на портале веб-трансляций и технических новостей developerWorks.

Получить продукты и технологии

  • На домашней странице gnuplot можно скачать программное обеспечение и документацию gnuplot. Там же вы найдете демонстрационную галерею, которая поможет вам оценить возможности gnuplot и адаптировать приведенные подходы к вашим приложениям.
  • GPlot представляет собой надстройку Gnuplot для языка Perl. Она написана Терри Глидтом (Terry Gliedt), и может помочь вам в случаях, если вы сочли Gnuplot сложным и недружелюбным. GPlot несколько теряет универсальность Gnuplot, но позволяет выполнить наиболее распространенные задачи более простым образом.
  • GNU Octave представляет собой язык высокого уровня для численных вычислений, в котором в качестве механизма вывода графики используется gnuplot. Это великолепная альтернатива коммерческому программному продукту Matlab. На сайте можно скачать продукт и получить доступ к обширной документации.
  • Скачать MayaVi Data Visualizer можно на SourceForge.net. Там же можно найти документацию и перечень возможностей, предоставляемых MayaVi для VTK.
  • Visualization Toolkit (VTK) представляет собой мощную программную систему с открытым исходным кодом, позволяющую выполнять визуализацию, обработку изображений и работу с трехмерной машинной графикой. На этом сайте вы найдёте программное обеспечение, документацию и множество полезных ссылок для работы с VTK.
  • Scilab - это бесплатный пакет научного программного обеспечения, предназначенный для выполнения численных расчетов и графической визуализации. На этом сайте вы найдете последние версии Scilab, а также документацию и прочую относящуюся к этому пакету информацию (например, о том, как внести свой вклад в развитие проекта)..
  • Maxima, наряду с пакетами Octave и Scilab с открытым исходным кодом, является ещё одной альтернативой пакетам Maple и Mathematica. В нем реализована отличная поддержка не только численных, но и символических расчетов за счет использования встроенного программирования на Lisp.
  • Продукт Open Data Explorer является версией мощного пакета визуализации данных и разработки приложений корпорации IBM с открытым исходным кодом, который необходим для выполнения крайне сложных задач визуализации научных данных.
  • На домашней странице NCAR Graphics вы найдете стабильный UNIX-пакет для построения контурных изображений, карт, поверхностей, метеорологических карт, графиков в декартовых координатах и многого другого.
  • Gri представляет собой язык высокого уровня для научного графического программирования. Вы можете использовать его для построения графиков в декартовых координатах, контурных изображений и графов с широкими возможностями управления параметрами построения.
  • SciGraphica - отличный инструмент для анализа данных и построения технических графиков.
  • The Библиотека ImLib3D представляет собой пакет с открытым исходным кодом для обработки объемных трехмерных изображений, стремящийся к максимальной простоте.
  • ODE представляет собой открытый механизм расчета физических свойств, идеально подходящий для моделирования физических систем. Сочетание этого механизма с Open/GL даст вам отличную среду для графического моделирования.
  • Система ROOT - это новый объектно-ориентированный механизм анализа данных. ROOT представляет собой полнофункциональный механизм, содержащий более 310 архитектурных и аналитических классов.
  • Начните свой следующий проект разработки для Linux с помощью ознакомительных версий программного обеспечения IBM, которые можно скачать непосредственно с developerWorks.

Обсудить

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Linux, Open source
ArticleID=188806
ArticleTitle=Инструменты визуализации данных для Linux
publish-date=01172007