Архитектура интерактивности визуализации данных
Иллюстрации
Показать всеИзобретение относится к области визуализации данных. Техническим результатом является обеспечение интерактивной визуализации данных при совместном использовании программ на различных платформах рендеринга. Предоставлена архитектура интерактивности визуализации данных. Архитектура может обеспечивать создание визуализации данных, такой как диаграмма, и может показывать интерактивный признак на визуализации. Архитектура может обеспечивать интеграцию с многочисленными платформами рендеринга. Когда пользователь выбирает показываемый признак, архитектура обеспечивает преобразование этого выбора в общий формат и модифицирование визуализации данных согласно структурным правилам независимо от платформы рендеринга. 3 н. и 15 з.п. ф-лы, 18 ил.
Реферат
УРОВЕНЬ ТЕХНИКИ
Архитектура интерактивности визуализации данных - это процесс, который позволяет осуществлять интерактивную визуализацию данных способом, который может максимизировать совместное использование программ на многих различных платформах рендеринга (получения изображения по модели с помощью компьютерной программы). В некоторых ситуациях признаки визуализации данных должны быть повторно реализованы полностью внутри разных платформ рендеринга из-за существенных различий среди платформ рендеринга. Интерактивная визуализация данных может позволить пользователям манипулировать частями визуализации, такой как диаграмма рассеивания, чтобы анализировать данные. Например, диаграмма рассеивания может содержать тысячи точек данных, которые могут усложнить анализ трендов или структур. Перетаскивание индикатора выбора вокруг набора точек данных на диаграмме рассеивания может увеличить масштаб изображения точек данных, таким образом показывая больше деталей. Традиционной стратегией является полностью повторно реализовать признак изменения масштаба для каждой из множества платформ рендеринга, таких как GDI/GDI+, Silverlight, WPF и C# winforms. Это часто вызывает проблемы, потому что традиционная стратегия может привести к большому количеству повторных попыток и вероятности несовместимости, ошибок и несоответствий в представлении. Мотивация для развития совместно используемой архитектуры для интерактивной визуализации данных служит растущей пользовательской потребностью в непротиворечивой интерактивности по изобилию технологий рендеринга и приложений, использующих их.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Может быть предоставлена архитектура интерактивности визуализации данных. Это раскрытие изобретения предоставлено, чтобы ввести набор концепций в упрощенной форме, которые дополнительно описываются ниже в подробном описании. Это раскрытие изобретения не предназначено для того, чтобы определить ключевые признаки или существенные признаки заявленного предмета. Также это раскрытие изобретения не предназначено для использования в качестве ограничения объема заявленного объекта изобретения.
Может быть предоставлена архитектура интерактивности визуализации данных. Архитектура может позволить создание визуализации данных, такой как диаграмма, и может показывать интерактивный признак на визуализации. Архитектура может обеспечить интеграцию с многочисленными платформами рендеринга. Когда пользователь выбирает показываемый признак, архитектура может преобразовать этот выбор в общий формат и модифицировать визуализацию данных согласно структурным правилам независимо от платформы рендеринга.
Как предшествующее общее описание, так и нижеследующее подробное описание, предоставляют примеры и являются лишь пояснительными. Соответственно, предшествующее общее описание и нижеследующее подробное описание не должны рассматриваться в качестве ограничительных. Более того, признаки или изменения могут быть предоставлены дополнительно к тем, которые изложены здесь. Например, варианты осуществления могут быть направлены на различные комбинации и подкомбинации признаков, описываемых в подробном описании.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Сопроводительные чертежи, которые включены в настоящее раскрытие и составляют его часть, иллюстрируют различные варианты осуществления настоящего изобретения. На чертежах:
Фиг.1 - блок-схема архитектуры интерактивности визуализации.
Фиг.2 - схема операционной среды.
Фиг.3 - диаграмма, иллюстрирующая интерактивный признак.
Фиг.4 - блок-схема последовательности операций способа для предоставления архитектуры интерактивности визуализации.
Фиг.5 - блок-схема последовательности операций подпрограммы, используемой в способе по фиг.4 для преобразования выбранного элемента в общий формат.
Фиг.6A-6J - диаграммы, иллюстрирующие типы и признаки интерактивных диаграмм.
Фиг.7 - блок-схема системы, включающей в себя вычислительное устройство.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Нижеследующее подробное описание ссылается на сопроводительные чертежи, где, возможно, одинаковые ссылочные позиции используются на чертежах и в нижеследующем описании, чтобы указывать на одинаковые или схожие элементы. Хотя могут быть описаны варианты осуществления, однако возможны изменения, адаптации и другие осуществления. Например, замены, добавления или изменения могут быть произведены с элементами, проиллюстрированными на чертежах, а способы, описываемые в материалах настоящей заявки, могут быть изменены путем замены, переупорядочения или добавления этапов к раскрытым способам. Соответственно, нижеследующее подробное описание не ограничивает изобретение. Напротив, правильный объем изобретения определяется прилагаемыми пунктами формулы изобретения.
Может быть предоставлена архитектура интерактивности визуализации данных. Совместимые с вариантами осуществления настоящего изобретения платформа 105 визуализации данных Windows® и платформа 150 визуализации данных OS X® могут каждая содержать совместное ядро 100, содержащее библиотеки программного обеспечения и/или утилиты для обеспечения интерактивных визуализаций. Совместное ядро 100 может быть реализовано, например, на C++ или C# и может не зависеть от платформы. Совместное ядро 100 может содержать утилиты визуализации для предоставления структур, форм и/или геометрии, линейных сервисов, трехмерного рендеринга, формирования кадра анимации и/или интерактивных активных участков, интерфейсов прикладного программирования (API).
Платформа 100 визуализации данных может представлять множество известных признаков интерактивности, собранных из существующих клиентов визуализации данных. Например, совместное ядро 100 может содержать утилиты для отображения по меньшей мере одной секторной диаграммы, гистограммы, диаграммы рассеяния, столбчатой диаграммы, линейного графика, комбинированной гистограммы, кольцевой диаграммы, лепестковой диаграммы, поверхностной диаграммы, кружковой диаграммы и биржевой диаграммы. Каждый тип диаграммы может содержать по меньшей мере один интерактивный признак, такой как признак изменения данных, признак фильтрования данных и признак визуальной настройки. Каждый тип диаграммы может содержать интерактивные признаки, характерные для этого типа и/или интерактивные признаки, общие для множества типов. Например, секторная диаграмма может содержать характерный для типа диаграммы признак визуальной настройки, позволяющий пользователю указывать («кликать») и выбирать клин секторной диаграммы и увеличивать клин и отображать дополнительную информацию об основных данных, представленных клином. Секторная диаграмма может дополнительно содержать признак, общий для множества типов, такой как позволяющий пользователю перетаскивать отображение условного обозначения в другое местоположение. Признаки изменения данных могут содержать получение изменений элементов основных данных визуализации, таких как изменения значения точки на графике и обновления визуализации, соответственно. Признаки фильтрования данных могут содержать обеспечение возможности выбора подмножества точек данных, как например, через поиск, изменение масштаба, сдвиг или выбор другого подмножества. Признаки визуальной настройки могут содержать получение изменений визуального внешнего вида визуализации, таких как изменение цвета, ширины и/или типа линии, и/или иконки представления точки. Другие признаки интерактивности могут содержать перемещение оси графика и/или оси координат, настройку ширины представления столбца и/или линейки, итерирование множества точек данных, предоставление дополнительной информации о секции и/или точке визуализации, предсказание по меньшей мере одного эффекта изменения данных, копирование визуализации полностью и/или частично, сортировку данных, переупорядочение точек данных и/или вводимых условных обозначений, изменение размеров точек данных и/или структурных элементов визуализации, выделение, поворот, вращение и отображение всплывающей подсказки. Совместимый с вариантами осуществления изобретения пользовательский выбор интерактивного признака может быть достигнут через любой ввод, полученный от пользовательского устройства ввода, связанного с показываемым интерактивным признаком, такой как движение указателя по области визуализации, ввод с клавиатуры и/или перемещение и/или нажатие мыши.
Платформа 105 визуализации данных Windows® и платформа 150 визуализации данных OS X® могут содержать совместные интерфейсы прикладного программирования (APIs), такие как C++ АРI 110 и С API 115. Платформа 105 визуализации данных может содержать утилиты, специфические для платформы Windows®, такие как библиотека 120 ввода/вывода файла Windows® и библиотека 125 интерфейса пользователя (UI) Windows®. Совместимая с вариантами осуществления изобретения библиотека 120 ввода/вывода файла и библиотека 125 UI могут быть реализованы как динамически подключаемые библиотеки (DLLs). Платформа 150 визуализации данных может содержать утилиты, специфические для платформы OS X®, такие как библиотека 155 ввода/вывода файла OS X® и библиотека 160 интерфейса пользователя (UI) OS X®.
Совместное ядро 100 может показывать взаимодействия в каждом типе диаграмм через объекты активных участков, которые могут выявлять область диаграммы, для которой интерактивный признак может быть доступен. Для каждой платформы рендеринга объект интеграции может содержать код интеграции, чтобы предоставить общую информацию интерфейса, которая может быть использована платформой визуализации данных для этой платформы рендеринга. Например, платформа 105 визуализации данных Windows® может содержать объект 130 интеграции Win32, а платформа 150 OS X® визуализации данных может содержать объект 165 интеграции OS X®. Объект интеграции для каждой платформы визуализации данных может содержать библиотеки программного обеспечения и, чтобы обеспечить обратную связь курсора мыши и утилиту проверки нажатия, утилиту цикла перетаскивания, которая может захватывать «мышь вниз», «перемещение мыши» и «мышь вверх» (например, нажатие, перетаскивание и отпускание), утилиту для рисования изображения перетаскивания, которая может быть предоставлена совместно используемым ядром 100 при перетаскивании, и утилиту для фиксации списка изменений. Список изменений может содержать список пользовательских вводов, таких как перемещения мыши и/или нажатия клавиш, записанных во время цикла перетаскивания. Список изменений может описывать изменения данных (например, значение изменения, значения переупорядочения, фильтра по области), а также изменения формы (движение, поворот, размер).
Каждый объект интеграции может отвечать за преобразование характерных для платформы данных пользовательского ввода в общую версию для посылки в совместное ядро 100. Объект интеграции может не нуждаться в какой-либо характерной для диаграммы информации, чтобы предоставить эти утилиты, позволяющие одиночному объекту показывать все из интерактивных признаков, связанных с каждым типом диаграммы, предоставленным совместно используемым ядром 100.
Различные типы диаграмм могут быть показаны платформой визуализации данных (DVP) и могут каждый иметь характерные области интерактивности, которые являются уникальными для этих типов диаграмм. Чтобы показать эти интерактивные области, в верхнем краю столбца, например, DVP может показывать активный участок. Каждый тип диаграммы может кодировать различные активные участки, характерные для этого типа диаграммы, и с помощью этого показывать интерактивность. Клиент может кодировать самый общий интерфейс, который может позволить клиенту извлекать пользу из интерактивных признаков, показываемых активными участками на основании взаимодействия с мышью и этапом простой фиксации. Общий интерфейс может содержать три части: логику проверки нажатия мыши, цикл перетаскивания и этап фиксации. Если эти части присутствуют, клиент может подключаться ко всем характерным для диаграмм активным точкам, которые может выявить DVP.
Проверка нажатия может содержать передвижение устройства ввода пользователя и запрашивание клиентом информации из DVP по поводу того, где находится курсор пользовательского ввода. DVP может отвечать этой информацией, например, точкой данных, или формой, или ничем. DVP может также, скажем, информировать клиента о том, что активный участок находится под курсором. Затем клиент может получить ссылку на активный участок и перейти к циклу перетаскивания. По мере того, как курсор пользовательского ввода клиента передвигается, как например, когда пользователь нажал на мышь и двигает курсор по экрану, клиент может обновить активный участок своим местоположением. Активный участок может затем предоставить передвигаемое изображение, чтобы получить обратную связь пользователя. Например, активный участок может предоставить каркас и/или полноценную форму с заполнением или серым цветом. Когда пользователь отпускает мышь, объект активного участка может фиксировать изменения, а изменения могут быть закодированы для DVP. Совместимые с вариантами осуществления изобретения изменения могут храниться в объекте списка изменений, который пользователь и/или клиент могут применять полностью и/или частично. Когда изменения зафиксированы, DVP может отражать все эти изменения внутри визуализации данных.
На фиг.2 показана схема операционной среды 200. Операционная среда 200 может содержать сервер 210 баз данных, клиента 220 Windows®, клиента 230 Macintosh® и мобильного клиента 240. Сервер 210 баз данных, клиент 220 Windows®, клиент 230 Macintosh® и мобильный клиент 240 могут каждый содержать вычислительное устройство 700, описываемое более подробно ниже относительно фиг.7, и может быть соединен через сеть 250, такую как Интернет или корпоративная интрасеть. Клиент 220 Windows®, клиент 230 Macintosh® и мобильный клиент 240 могут каждый содержать платформу визуализации и платформу визуализации данных. Например, клиент 220 Windows® может содержать платформу 105 визуализации данных Windows®, а клиент 230 Macintosh® может содержать платформу 150 визуализации данных OS X®. Платформы визуализации данных клиента 220 Windows®, клиента 230 Macintosh® и мобильного клиента 240 могут каждая содержать совместное ядро 100. Каждый клиент может предоставлять разную платформу рендеринга, используемую для отображения визуализации.
Интерактивность может быть достигнута главным образом через нажатие и/или перетаскивание устройства ввода 712, такого как мышь, сенсорная панель, дисплей множественного касания, сенсорный экран и/или стило. Может также быть предоставлена интерактивность, основанная на клавиатуре. Совместимый с вариантами осуществления изобретения каждый клиент может поддерживать дополнительные устройства интерфейса пользователя и/или признаки. Например, клиент 230 Macintosh® может предоставлять поддержку для устройства интерфейса пользователя Apple Remote®, которое не может поддерживаться клиентом 220 Windows®.
На фиг.3 представлена диаграмма, иллюстрирующая интерактивный признак. Например, линейный график 300 может содержать множество наборов данных 305, нанесенных на график. Линейный график 300 может дополнительно содержать ось 310 x, ось 315 y и условное обозначение 320. Линейный график 300 может быть сформирован платформой 105 визуализации данных Windows® на клиенте 220 Windows® согласно информации типа диаграммы, связанной с совместным ядром 100 и данными, хранимыми на сервере 210 баз данных. Совместимые с вариантами осуществления изобретения данные, описываемые линейным графиком 300, могут храниться локально на клиенте 220 Windows® и/или другом вычислительном устройстве. Платформа 105 визуализации данных Windows® может показывать активные участки платформе визуализации клиента 220 Windows®. Например, активные участки могут быть показаны, делая возможным интерактивность с условным обозначением 320 и/или осью 310 x, такую как изменение названия одного из множества наборов 305 данных.
Интерактивные местоположения в визуализации могут быть показаны через встроенную совокупность объектов 'активных участков'. Каждый тип структуры визуализации может показывать активные участки, характерные для структуры. Например, столбчатая диаграмма может показывать активный участок для перетаскивания верхнего края столбца вертикально. Секторная диаграмма может показывать активный участок для каждой стороны сектора, который может перетаскиваться в направлении по часовой стрелке или против часовой стрелки. Перемещаясь и вращаясь, формы, такие как условные обозначения и названия, могут показываться через активные участки общих форм.
Активные участки могут показываться клиенту через проверку нажатия. Клиент может использовать объект интеграции, чтобы определить, какие объекты находятся под курсором 325 мыши. Совместное ядро 100 может возвращать ссылку на форму нажатия и/или ссылку на вновь созданный активный участок. Совместное ядро 100 может делегировать обнаружение активного участка классу активной структуры для графика, который может анализировать то, какие геометрические кривые были нажаты. Если не была нажата область, соответствующая интерактивному признаку, совместное ядро 100 не может вернуть ссылку активного участка. Если активный участок был нажат, совместное ядро 100 может создать новый объект активного участка с подсчитанной ссылкой, который может записывать изначальное положение проверки нажатия. Платформа визуализации может принимать описание того, какие изменения произойдут, и может отображать подходящий курсор и/или строку-подсказку и/или игнорировать активный участок.
Как только клиент обнаруживает, что активный участок перетаскивается мышкой, он может перейти к стандартному циклу перетаскивания. Например, клиент 220 Windows® может вводить перетаскивание связывания и встраивания объектов (OLE) и/или цикл простого сообщения. Внутри цикла каждое движение мыши, например, способом, который сообщает положение, к которому перетаскивается курсор 325 мыши. Клиент может запрашивать активный участок для обновленного списка изменений и/или изображение перетаскивания, такое как изображение 330 перетаскивания. Тип изменения, связанный с активным участком, может изменяться на основании местоположения мыши. Например, перетаскивание сектора из секторной диаграммы может просто передвигать форму, тогда как перетаскивание сектора на другой сектор может переупорядочить данные.
Изображение 330 перетаскивания, возвращаемое через активный участок, может быть получено клиентом в форме геометрического итератора, который может быть тем же объектом, используемым, чтобы нарисовать статическое изображение диаграммы. Таким образом, как только клиент может нарисовать диаграмму, он должен быть способен нарисовать изображение перетаскивания посредством запуска того же кода. Внутри совместного ядра 100, изображение перетаскивания может быть сформировано посредством создания временной формы, скопированной из изначальной геометрии и измененной, чтобы отражать текущий список изменений.
Когда происходит событие «мышь вверх», операция перетаскивания может быть закончена, и изменения могут нуждаться в фиксации. В этот момент клиент может запросить у активного участка его список изменений в последний раз и может зафиксировать список изменений в совместном ядре 100, чтобы применить изменения внутри. Совместимый с вариантами осуществления изобретения клиент может обходить список изменений и выборочно применять изменения желательным образом. Например, клиент диаграмм Office® может передавать изменения данных обратно в таблицу Excel®, делая возможным возврат изменений в совместное ядро 100 позже.
Другая показываемая интерактивность в линейном графике 300 может содержать, например, признак визуальной настройки, такой как операция изменения масштаба. Объект 130 интеграции Win32 может принимать событие «мышь вниз» (например, нажатие кнопки мыши) от пользовательского устройства ввода и начинать отслеживание дополнительного ввода и добавление каждого ввода к списку изменений до того, как получено событие «мышь вверх» (например, отпускание кнопки мыши). Например, пользователь может поместить курсор 325 в одно положение и перетаскивать мышь, чтобы выбрать область линейного графика 300. Совместное ядро 300 может предоставлять независимое от платформы графическое представление пользователю, чтобы указать выбранную область, такую как изображение 330 перетаскивания. Как только событие «мышь вверх» получено, объект 130 интеграции Win32 может фиксировать список изменений в совместном ядре 100, которое в свою очередь может формировать обновленную визуализацию 350, которая может отображать увеличенную визуализацию выбранной области линейного графика 300.
Активные участки, показанные совместным ядром 100, могут представлять полный набор известных интерактивностей, собранных из существующих клиентов визуализации данных. Могут иметься активные участки, которые совместное ядро 100 не показывает так, как желательно клиенту, или могут быть сценарии, где встроенный активный участок будет недостаточным. Совместимое с вариантами осуществления изобретения совместное ядро 100 может показывать дополнительные API, чтобы позволить клиенту расшириться по мере необходимости. Например, совместное ядро 100 может показывать API для клиентов, чтобы извлекать характерную для структуры информацию проверки нажатия, чтобы предоставить итерацию геометрии точек данных и/или чтобы предоставить предсказание изменения «что-если».
Клиентам может быть желательным понимать, какие интересующие части структуры находятся под курсором мыши. Например, офисным приложениям может быть желательным комментировать диаграмму с помощью соединительной стрелки из нарисованных форм. Чтобы сделать это, совместному ядру 100 может понадобиться предоставить субэлементную информацию проверки нажатия, такую как "над точкой #3 данных в серии #1" или "над границей роста точки данных" или "над временной отметкой оси значения со значением 10".
Точки данных могут быть визуализированы как пути внутри формы ряда. Клиентам может быть желательным выделять отдельные точки данных (например, при наведении мыши) и, таким образом, может потребоваться способность итерировать геометрию, характерную для одиночной точки данных, а не целого ряда.
Клиентам может потребоваться, чтобы вся диаграмма возвращалась с изменением, предсказуемо примененным в сценарии «что-если». Например, при переупорядочении точек данных, клиент может скорее пожелать показать точку данных, правильно вставленную в ее новое местоположение, чем показать ореол 'маркера вставки'. Чтобы сделать это, клиент может создать и передать список изменений на совместное ядро 100, которое может затем создать скопированную при записи копию диаграммы, применить список изменений и вернуть геометрический итератор, направленный на новую диаграмму, которую должен нарисовать клиент.
Изменения, произведенные над совместным ядром 100 через доступ API или взаимодействие с пользователем (например, активные участки), должны иметь возможность отмены. Чтобы достичь этого, объект транзакции может существовать в совместном ядре 100, чтобы позволить клиенту разделить и записать изменения на уровне команды. Например, объект транзакции может показывать метод GetUndoRecord(), который возвращает объект UndoRecord, чтобы хранить информацию отката/повтора. Объект UndoRecord может иметь методы Undo() и Redo(), которые должны запускаться из команд отката/повтора клиента. Для пользовательских изменений, произведенных через активные участки, объект списка изменений, возвращаемый активным участком, может также показывать объект транзакции, чтобы отследить его состояние отката/повтора.
На фиг.4 показана блок-схема последовательности операций, формулирующая общие этапы, включенные в способ 400, совместимый с вариантом осуществления изобретения для предоставления архитектуры интерактивности визуализации. Способ 400 может быть осуществлен, используя вычислительное устройство 700, как описано более подробно ниже относительно фиг.7. Способы осуществления этапов способа 400 будут описаны более подробно ниже. Способ 400 может начинаться в начальном блоке 410 и продолжаться до этапа 420, где вычислительное устройство 700 может создать визуализацию данных. Например, вычислительное устройство 700 может содержать клиента 220 Windows® и может использовать платформу 105 визуализации данных Windows®, чтобы создать визуализацию, такую как секторная диаграмма, гистограмма, точечная диаграмма, столбчатая диаграмма, линейный график, комбинированная гистограмма, кольцевая диаграмма, лепестковая диаграмма, поверхностная диаграмма, кружковая диаграмма и биржевая диаграмма.
От этапа 420 способ 400 может переходить к этапу 430, на котором вычислительное устройство 700 может показывать по меньшей мере один интерактивный признак для визуализации данных. Например, вычислительное устройство 700 может показывать активный участок, связанный с интерактивным признаком, таким как признак изменения данных, признак фильтрования данных и/или признак визуальной настройки.
От этапа 430 способ 400 может переходить к этапу 440, на котором вычислительное устройство 700 может предоставлять объект интеграции, связанный с по меньшей мере одной из множества платформ рендеринга. Например, вычислительное устройство 700 может использовать платформу рендеринга, такую как GDI, GDI+, Silverlight, WPF, C# winforms, и/или QT, чтобы визуализировать графические отображения и/или визуализации данных.
От этапа 440 способ 400 может переходить к этапу 450, на котором вычислительное устройство 700 может принимать выбор по меньшей мере одного местоположения на визуализации данных от пользовательского устройства ввода. Например, пользователь может выбрать точку на визуализации данных, используя мышь, стило, клавиатуру и/или сенсорный экран.
От этапа 450 способ 400 может переходить к этапу 460, на котором вычислительное устройство 700 может определять, связано ли выбранное по меньшей мере одно местоположение с активным участком. Например, вычислительное устройство 700 может определять, содержит ли выбранное по меньшей мере одно местоположение точку данных, структурный элемент визуализации данных, такой как осевая линия, пункт меню интерфейса пользователя, элемент команды интерфейса пользователя и/или элемент управления визуализацией данных.
Если на этапе 460 вычислительное устройство 700 определяет, что выбранное по меньшей мере одно местоположение связано с активным участком, способ 400 может переходить к этапу 470, на котором вычислительное устройство 700 может преобразовывать выбор по меньшей мере одного интерактивного признака через объект интеграции в общий формат, связанный с платформой визуализации данных. Преобразование выбора через объект интеграции в общий формат описывается ниже более подробно относительно фиг. 5. Если на этапе 460 вычислительное устройство 700 определяет, что выбранное по меньшей мере одно местоположение не связано с активным участком, способ 400 может вернуться на этап 450, где вычислительное устройство 700 может ожидать, чтобы получить другой выбор пользовательского ввода.
От этапа 470 способ 400 может переходить к этапу 480, на котором вычислительное устройство 700 может обновлять визуализацию данных согласно выбранному интерактивному признаку. Как только вычислительное устройство 700 обновляет визуализацию данных на этапе 480, способ 400 может завершиться на этапе 490.
На фиг.5 показана блок-схема последовательности операций подпрограммы, используемой в способе по фиг.4 для преобразования выбранного элемента в общий формат. Подпрограмма 470 может находиться на этапе 510, где вычислительное устройство 700 может захватывать по меньшей мере одну характеристику выбора. Например, вычислительное устройство 700 может захватывать характеристику выбора, такую как нажатие мыши, операция перетаскивания, операция разжимания, движение мыши, операция прокручивания. Совместимая с вариантами осуществления изобретения захваченная по меньшей мере одна характеристика может быть закодирована в формат, связанный с платформами рендеринга.
От этапа 510 подпрограмма 470 может переходить к этапу 520, на котором вычислительное устройство 700 может отображать визуальную обратную связь, связанную с по меньшей мере одной характеристикой. Например, вычислительное устройство 700 может отображать визуальную обратную связь, такую как изменение курсора, рисование линии, рисование формы, изменение названия, изменение статуса отображения и/или отображение всплывающей подсказки.
От этапа 520 подпрограмма 470 может переходить к этапу 530, на котором вычислительное устройство 700 может преобразовывать захваченную характеристику выбора из формата кодирования, связанного с платформами рендеринга, в общий формат кодирования, связанный с платформой визуализации данных. Например, платформа визуализации данных может использовать связанный объект интеграции, чтобы преобразовывать характеристику выбора.
От этапа 530 подпрограмма 470 может переходить к этапу 540, на котором вычислительное устройство 700 может создавать список изменений согласно преобразованной по меньшей мере одной характеристике выбора. Например, вычислительное устройство 700 может создавать список изменений в ответ на получение характеристики выбора мыши вниз. Как только был создан список изменений, вычислительное устройство 700 может добавлять дополнительные характеристики выбора к списку изменений по мере их получения.
От этапа 540 подпрограмма 470 может переходить к этапу 550, на котором вычислительное устройство 700 может определять, завершен ли пользовательский выбор. Например, вычислительное устройство 700 может определять, что пользователь завершил цикл перетаскивания посредством отпускания кнопки мыши.
Если на этапе 550 вычислительное устройство 700 определяет, что пользовательский выбор завершен, подпрограмма 470 может переходить к этапу 560, на котором вычислительное устройство 700 может предоставлять список изменений для обработки. Например, вычислительное устройство 700 может предоставлять список изменений платформе визуализации данных. Если на этапе 550 вычислительное устройство 700 определяет, что пользовательский выбор не завершен, подпрограмма 470 может вернуться к этапу 510, на котором вычислительное устройство 700 может ожидать получения и захвата другого пользовательского выбора. Как только вычислительное устройство 700 обработает список изменений на этапе 560, подпрограмма 470 может завершиться и перейти к этапу 480 способа 400.
Вариант осуществления, совместимый с изобретением, может содержать систему для предоставления интерактивности визуализации данных. Система может содержать запоминающее устройство и обрабатывающий блок, соединенный с запоминающим устройством. Обрабатывающий блок может быть способным создавать визуализацию данных согласно совместной структуре, показывать по меньшей мере один интерактивный признак для визуализации данных, предоставлять объект интеграции, связанный с по меньшей мере одной из множества платформ визуализации, выбирать по меньшей мере один интерактивный признак, преобразовывать выбор по меньшей мере одного интерактивного признака через объект интеграции в общий формат, связанный с совместной структурой, и изменять визуализацию данных согласно выбранному интерактивному признаку. Объект интеграции может быть предоставлен для каждой из множества платформ рендеринга. Совместная структура может не зависеть от платформ рендеринга и может содержать, например, секторную диаграмму, гистограмму, точечную диаграмму, столбчатую диаграмму, линейный график, комбинированную гистограмму, кольцевую диаграмму, лепестковую диаграмму, поверхностную диаграмму, кружковую диаграмму и/или биржевую диаграмму. Интерактивный признак может содержать, например, признак изменения данных, признак фильтрования данных и/или признак визуальной настройки. Выбор по меньшей мере одного интерактивного признака может содержать получение ввода выбора от по меньшей мере одного из мыши, пера, клавиатуры и/или сенсорного экрана.
Обрабатывающий блок может быть дополнительно способным принимать местоположение для указателя пользовательского устройства ввода и извлекать информацию о полученном местоположении, в котором информация содержит по меньшей мере одно из следующего: описание возможных изменений визуализации данных, связанных с местоположением, и описание по меньшей мере одной точки данных в местоположении. Информация о полученном местоположении отображается во всплывающей подсказке.
Обрабатывающий блок может дополнительно показывать по меньшей мере один объект активного участка, характерный для структуры, такой как интерактивный признак управления клином в секторной диаграмме. Объект активного участка может быть связан с по меньшей мере одним структурным элементом визуализации данных, таким как осевая линия графика.
Другой вариант осуществления, совместимый с изобретением, может содержать систему для предоставления расширяемой интерактивности для визуализации данных. Система может содержать запоминающее устройство и обрабатывающий блок, соединенный с запоминающим устройством. Обрабатывающий блок может создавать визуализацию данных согласно набору данных, показывать по меньшей мере один активный участок, принимать выбор по меньшей мере одного активного участка, создавать список изменений, связанный с выбором по меньшей мере одного активного участка, хранить множество команд пользовательского ввода в списке изменений, обрабатывать список изменений и обновлять визуализацию данных согласно обработанному списку изменений. Например, мобильный клиент 240 может открыть файл диаграммы. Платформа визуализации данных (DVP) может создавать визуализацию данных согласно данным в файле диаграммы и показывать по меньшей мере одну область активного участка диаграммы, связанную с интерактивным признаком. Пользователь может выбрать показываемый активный участок устройством пользовательского ввода, а мобильный клиент 240 может принимать обратную связь от DVP, чтобы предоставить пользователю, такую как изменение внешнего вида курсора пользовательского устройства ввода и/или отображение строки-подсказки. Обратная связь может быть связана с по меньшей мере одним интерактивным признаком, связанным с активным участком, таким как изменение курсора в руку при выборе края столбца, чтобы указать на то, что край столбца может быть передвинут, чтобы расширить или сузить столбец.
По мере того, как пользователь управляет визуализацией данных, каждая манипуляция пользовательского ввода может быть добавлена к списку изменений в качестве команды. Когда пользователь закончил управление визуализацией данных, что может быть указано событием «мышь вверх», список изменений может быть обработан мобильным клиентом 240. Например, мобильный клиент 240 может фиксировать список изменений в DVP; DVP может затем итерировать через каждую команду, добавляемую к списку изменений, и обновлять визуализацию данных соответственно. Совместимое с вариантами осуществления изобретения мобильное устройство может позволять пользователю просматривать команды в списке изменений и применять их полностью и/или частично, как например, посредством выбора по меньшей мере одной из команд в списке изменений, чтобы применить визуализацию данных.
Еще один вариант осуществления, совместимый с изобретением, может содержать систему для предоставления интерактивности визуализации данных. Система может содержать запоминающее устройство и обрабатывающий блок, соединенный с запоминающим устройством. Обрабатывающий блок может создавать визуализацию данных согласно структуре, связанной с платформой визуализации данных, показывать по меньшей мере один интерактивный признак для визуализации данных, предоставлять объект интеграции, связанный с по меньшей мере одной из множества платформ рендеринга, причем платформа рендеринга содержит, например, GDI, GDI+, Silverlight, WPF, C# winforms, принимать выбор по меньшей мере одного местоположения на визуализации данных от пользовательского устройства ввода и опр