Сохранение графиков в рабочий каталог - участки пусты? [Дубликат]

Код для интерфейса. Не реализация не имеет отношения к Java, а также к конструкции интерфейса.

Эта концепция была выведена в известность в книгах «Шаблоны / Банды четырех», но, скорее всего, была вокруг нее задолго до этого. Концепция, безусловно, существовала задолго до того, как существовала Java.

Конструкция интерфейса Java была создана для помощи в этой идее (среди прочего), и люди стали слишком сосредоточены на конструкции как центр смысла, а не оригинальное намерение. Тем не менее, это причина, по которой у нас есть общедоступные и частные методы и атрибуты в Java, C ++, C # и т. Д.

Это означает просто взаимодействовать с открытым интерфейсом объекта или системы. Не беспокойтесь и даже не ожидайте, как он делает то, что он делает внутренне. Не беспокойтесь о том, как это реализовано. В объектно-ориентированном коде, поэтому мы имеем общедоступные и частные методы / атрибуты. Мы намерены использовать общедоступные методы, потому что частные методы существуют только для внутреннего использования внутри класса. Они составляют реализацию класса и могут быть изменены по мере необходимости без изменения открытого интерфейса. Предположим, что в отношении функциональности метод класса будет выполнять ту же операцию с тем же ожидаемым результатом каждый раз, когда вы вызываете его с теми же параметрами. Это позволяет автору изменять способ работы класса, его реализацию, не нарушая взаимодействия с ним.

И вы можете запрограммировать интерфейс, а не реализацию, не используя конструкцию интерфейса. Вы можете запрограммировать интерфейс, а не реализацию на C ++, которая не имеет конструкцию интерфейса. Вы можете интегрировать две огромные корпоративные системы гораздо надежнее, если они взаимодействуют через публичные интерфейсы (контракты), а не вызывают методы для объектов, внутренних для систем. Ожидается, что интерфейсы всегда будут реагировать на один и тот же ожидаемый путь с учетом тех же входных параметров; если реализован интерфейс, а не реализация. Концепция работает во многих местах.

Встряхните мысль о том, что Java-интерфейсы имеют что-то, что связано с концепцией «Программа для интерфейса, а не реализация». Они могут помочь применить концепцию, но это не концепция.

7
задан Mogsdad 1 September 2015 в 17:07
поделиться

2 ответа

В FAQ для R - вам нужно print() вокруг функции решетки, которую вы вызываете:

7.22 Почему решетка / решетка не работает ?

Наиболее вероятная причина заключается в том, что вы забыли указать R для отображения графика. Решетчатые функции, такие как xyplot (), создают объект графика, но не отображают его (то же самое относится к графике ggplot2 и графике Trellis в S-Plus). Метод print () для объекта графика создает фактический дисплей. Когда вы используете эти функции интерактивно в командной строке, результат автоматически печатается, но в источнике () или внутри ваших собственных функций вам понадобится явный оператор print ().

16
ответ дан Dirk Eddelbuettel 23 August 2018 в 01:30
поделиться
  • 1
    Вау, это было быстро! Мне потребовалось много времени, чтобы выяснить, в чем проблема. Большое спасибо! Это работает: ... print(histogram( ~ RT | factor(Type), data = data)) ... – woobert 21 July 2011 в 22:49
  • 2
    Должно ли это быть применимо к функции plot() из пакета graphics? Я вижу подобное поведение, но, похоже, это не исправляет. – naught101 18 May 2012 в 03:03
  • 3
    – naught101 18 May 2012 в 03:08
  • 4
    Я добавил пример для этого случая здесь stackoverflow.com/a/44098042/54964 , потому что я думаю, что ответ - заглушка. – Léo Léopold Hertz 준영 21 May 2017 в 14:29

Пример случая

  1. visualise.r вызывает plot2this.r вызовы ggplot2 и возвращает p объект

Здесь исправление в функции plot2this.r с return(p) до return(print(p)).

Начальный plot2this.r

p <- ggplot(dat.m, aes(x = Vars, y = value, fill=variable)) 
return(p)

Исправить

p <- ggplot(dat.m, aes(x = Vars, y = value, fill=variable)) 
return(print(p))

Вывести сейчас: ожидаемый вывод с желаемым графиком.

0
ответ дан Léo Léopold Hertz 준영 23 August 2018 в 01:30
поделиться
Другие вопросы по тегам:

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