bind()
. bind()
function MyConstructor(data, transport) {
this.data = data;
transport.on('data', ( function () {
alert(this.data);
}).bind(this) );
}
// Mock transport object
var transport = {
on: function(event, callback) {
setTimeout(callback, 1000);
}
};
// called as
var obj = new MyConstructor('foo', transport);
Если вы используете underscore.js
- http://underscorejs.org/#bind
transport.on('data', _.bind(function () {
alert(this.data);
}, this));
function MyConstructor(data, transport) {
var self = this;
this.data = data;
transport.on('data', function() {
alert(self.data);
});
}
function MyConstructor(data, transport) {
this.data = data;
transport.on('data', () => {
alert(this.data);
});
}
Чтобы быть немного более конкретным:
%matplotlib inline
import seaborn as sns
exercise = sns.load_dataset("exercise")
# Defaults are size=5, aspect=1
sns.factorplot("kind", "pulse", "diet", exercise, kind="point", size=2, aspect=1)
sns.factorplot("kind", "pulse", "diet", exercise, kind="point", size=4, aspect=1)
sns.factorplot("kind", "pulse", "diet", exercise, kind="point", size=4, aspect=2)
Вы хотите передать размер аргумента или «аспект» в sns.factorplot () при построении вашего сюжета.
Размер изменяет высоту, , сохраняя соотношение сторон (поэтому он также будет расширяться, если изменяется только размер.)
Аспект изменит ширину, сохраняя константа высоты.
Вышеприведенный код должен быть запущен локально в ноутбуке ipython.
Размеры рисунков в этих примерах уменьшены, чтобы показать эффекты, и потому что графики из приведенного выше кода были довольно большими при сохранении в виде png. Это также показывает, что размер / аспект включает легенду в поле.
size = 2, aspect = 1
[/g2]
size = 4, aspect = 1
[/g3]
size = 4, aspect = 2
[/g4]
Кроме того, все остальные полезные параметры / аргументы и значения по умолчанию для этой функции построения можно просмотреть, как только загрузится модуль «sns»:
help(sns.factorplot)
mpl.rc
хранится в глобальном словаре (см. http://matplotlib.org/users/customizing.html ). Итак, если вы хотите изменить размер одной фигуры (локально), она выполнит трюк:
plt.figure(figsize=(45,10))
sns.factorplot(...)
Он работал для меня с помощью matplotlib-1.4.3
и seaborn-0.5.1
plt.figure
, действительно должен идти первым. благодаря
– Overdrivr
5 October 2016 в 09:12
import matplotlib.pyplot as plt
– psychemedia
12 April 2017 в 11:32
%pylab inline
, он устарел, используйте %matplotlib inline
.set_style
передайте его вашему rc в качестве второго параметра или kwarg .: http://web.stanford.edu/~mwaskom/software/seaborn/generated/seaborn.set_style.html Размер фигуры контролируется параметрами size
и aspect
до factorplot
. Они соответствуют размеру каждой грани («size
» действительно означает «высота», а затем size * aspect
дает ширину), поэтому, если вы нацелены на определенный размер для всей фигуры, вы Мне нужно будет отступить назад.
mpl.rc("figure", figsize=(45, 10))
хорошо для того, если не контролировать размер фигуры? Я также вижу тот же код mpl.rc
, который используется здесь: github.com/mwaskom/seaborn/issues/112 - и он не меняет размер на моих сюжетах.
– slhck
20 March 2015 в 16:54
Если вы просто хотите масштабировать фигуру, используйте приведенный ниже код:
import matplotlib.pyplot as plt
plt.figure(figsize=(8, 6))
sns.factorplot("MONTH", "VALUE", hue="REGION", data=typessns, kind="box", palette="OrRd"); // OR any plot code