Spotfire Ironpy, как редактировать конкретную визуализацию

Во всех учебных пособиях по Spotfire IronPy визуализации определяются следующим образом:

vc = detailsVis.As[VisualContent]()

Мой вопрос: как определить объект для конкретной визуализации? Могу ли я сделать это по названию? Могу ли я сделать это с помощью objectid?

По сути, у меня есть несколько визуализаций на вкладке. Я хотел бы иметь возможность указать script на конкретную визуализацию, чтобы изменить значения оси и некоторые другие вещи.


person SwolleyBible    schedule 07.09.2015    source источник


Ответы (1)


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

вы также можете ссылаться на визуализацию по ее названию или идентификатору (импорт не требуется):

# loop through all pages in analysis
for p in Document.Pages:
    print p.Title, p.Id

# loop through all visuals on a page
page_index = 3    # integer index of the page (left to right; starts at 0)
for v in Document.Pages[page_index].Visuals:
    print v.Title, v.Id

# try to find a specific visual on a page by title
for p in Document.Pages:
    for v in p.Visuals:
        if v.Title == "sometitle": visual_id = v.Id 

# or by Id, if you know it already
Document.Pages[1].Visuals.TryGetVisual(visual_id)

Document.Pages – это PageCollection.

Document.Pages.Visuals – это VisualCollection

хотя, вероятно, лучше просто придерживаться параметров :)

person niko    schedule 07.09.2015
comment
Спасибо. Итак, TryGetVisual(visual_id) — железная функция? - person SwolleyBible; 07.09.2015
comment
это метод объекта VisualsCollection, реализованный API Spotfire, доступ к которому может получить IronPython. вам не нужно ничего импортировать, но вы не можете запустить эту функцию вне Spotfire. обратите внимание, что ссылка на визуализацию по идентификатору — это действительно жестко запрограммированная функциональность. использование параметра является более гибким и позволяет вам более легко изменить визуализацию, на которую ссылаются. в противном случае вам придется искать идентификатор визуализации, используя метод, который я упоминал выше, а затем копировать его в скрипт. - person niko; 07.09.2015
comment
Ааа, спасибо... да, проблема в том, что я использую одно свойство/скрипт для редактирования только определенных визуализаций... так что циклический скрипт великолепен - person SwolleyBible; 08.09.2015