Перечисление всех моих редакторов Eclipse?

Если мы изменим столбец purchase_month на класс yearmon, а затем укажем тот же масштаб X, он будет работать. Использование данных, воспроизводимых в примечании в конце:

library(zoo)

sample_data2 <- transform(sample_data, purchase_month = as.yearmon(purchase_month))

ggplot(data = sample_data2, aes(x = purchase_month, y = orders)) + 
  geom_line(aes(color = type), size = 1) +
  scale_color_manual(values = c("#00AFBB", "#E7B800")) +
  theme_minimal() +
  scale_x_yearmon()

или другой подход, заключается в преобразовании в многомерный ряд широкой формы с одним столбцом на тип и использованием autoplot.zoo. Обратите внимание, что, опуская facet = NULL, можно получить многопанельный выход.

library(zoo)

z <- read.zoo(sample_data, index = "purchase_month", split = "type", FUN = as.yearmon)

autoplot(z, geom = "blank", facet = NULL) + 
  geom_line(size = 1) +
  scale_color_manual(values = c("#00AFBB", "#E7B800")) +
  theme_minimal() +
  scale_x_yearmon()

Любой из них производит:

screenshot

Примечание

Lines <- "
purchase_month |   type   | orders
2018-07        | local    |    199
2018-08        | local    |    231
2018-09        | local    |    222
2018-10        | local    |    190
2018-07        | domestic |   1102
2018-08        | domestic |    924
2018-09        | domestic |    999
2018-10        | domestic |    779"
sample_data <- read.table(text = Lines, header = TRUE, sep = "|", strip.white = TRUE)

5
задан Lii 20 March 2018 в 09:20
поделиться

2 ответа

Можно получить ссылки на всех открытых редакторов с:

PlatformUI.getWorkbench().getActiveWorkbenchWindow()
    .getActivePage().getEditorReferences();

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

10
ответ дан 18 December 2019 в 09:10
поделиться

Знайте, что такое перечисление не будет уважать порядок вкладки

Вот пример перечисления редакторов:

IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
IWorkbenchPage page = window.getActivePage();
IEditorPart actEditor = page.getActiveEditor();
IEditorReference[] editors = page.getEditorReferences();
for (int i=0; i<editors.length-1; i++) {
  if (editors[i].getEditor(true) == actEditor) {
    page.activate(editors[i+1].getEditor(true));
    return null;
  }
}
1
ответ дан 18 December 2019 в 09:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: