R Ошибка: дискретное значение, подаваемое на непрерывный масштаб [дубликат]

Классы ES2015 (или transpiled classes) - это просто синтаксический сахар над прототипным наследованием. Это означает, что методы, которые вы определяете, помещаются в прототип «класса». Чтобы иметь доступ к зависимостям, введенным в конструкторе, вам нужно как-то сохранить их для последующей ссылки методом прототипа.

Обычно это делается путем помещения их в экземпляр:

function HomeController($http) {
  this.$http = $http;
}
HomeController.prototype.doMe = function() {
  this.$http.get('http://www.yahoo.com/');
};

В синтаксисе на основе класса это означает:

class HomeController {
  constructor($http) {
    this.$http = $http;
  }

  doMe() {
    this.$http.get('http://www.yahoo.com/');
  }
}

EDIT: если вы используете TypeScript, вы можете сохранить некоторый шаблонный шаблон, используя модификаторы доступа в аргументах конструктора. Например:

class HomeController {
  constructor(private $http) {}
}

... который является сокращением для:

class HomeController {
  private $http;

  contructor($http) {
    this.$http = $http;
  }
}

РЕДАКТИРОВАТЬ 2: Если вы хотите сделать ваш контроллер мини-дружественным, вы можете использовать один из вариантов, описанных здесь здесь (возможно, наряду с инструментом, подобным ngAnnotate ). Например, вы можете использовать метод «$inject Property Annotation:

ES5

HomeController.$inject = ['$http'];
function HomeController($http) {...}
HomeController.prototype.doMe = function() {...}

ES2015

class HomeController {
  constructor($http) {...}

  doMe() {...}
}
HomeController.$inject = ['$http'];

// OR

class HomeController {
  static get $inject() { return ['$http']; }
  constructor($http) {...}

  doMe() {...}
}

ТипScript

class HomeController {
  static $inject = ['$http'];
  constructor(private $http) {}

  doMe() {...}
}

0
задан Community 23 May 2017 в 11:46
поделиться

1 ответ

Наконец, мне удалось заставить его работать ... так что спасибо тем, кто дал мне комментарии:

df1$diff_order <- reorder(df1$country.name, df1$diff) #Set order of countries by diff, and then set this to be plot 

a <- ggplot(df1, aes((x=diff_order), y=diff,fill=as.factor(level))) +
  geom_bar(stat="identity") +
  xlab("Country") +
  theme_classic() +
  coord_flip() +
  scale_fill_manual(values=c("#009E73", "#0072B2"),name="NUTS level") +
  ggtitle("All")  +
  theme(plot.title = element_text(hjust = 0)) +
  theme(axis.title.x = element_blank()) +
  theme(axis.text=element_text(size=9),
        axis.title=element_text(size=10,face="bold"))

a

1
ответ дан KT_1 19 August 2018 в 03:49
поделиться
Другие вопросы по тегам:

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