Объект dist должен быть экземпляром или классом статистических распределений scipy. Вот что подразумевается под:
dist: str или экземпляр stats.distributions, необязательно
blockquote>Таким образом, автономный пример будет:
[110 ]И вы получите:
Если вы хотите построить несколько столбцов фрейма данных, вам понадобится вызывать
probplot
несколько раз, каждый раз нанося на одни и те же (или новые) оси.В этом простом случае пакет с проколом не предлагает много. Но это может быть более гибким для построения шкалы вероятностей вместо квантильных шкал, если в этом направлении вы можете двигаться в будущем:
import probscale fig, ax = pyplot.subplots(figsize=(6, 3)) fig = probscale.probplot( random_beta, ax=ax, plottype='qq', bestfit=True, dist=stats.beta(0.3, 2) )
Вызов [viewController view]
удостоверится, что данный XIB контроллера представления загружается; после того как это, можно использовать любое из его других свойств обычно.
Вот то, что я склонен делать:
@class Record; // some model object--I assume it has an integer record ID
@class DetailViewController;
@interface RootViewController : UIViewController {
IBOutlet DetailViewController * detailController;
}
- (void)restore;
...
@end
@implementation RootViewController
// Note: all detailController showings--even ones from within
// RootViewController--should go through this method.
- (void)showRecord:(Record*)record animated:(BOOL)animated {
[self view]; // ensures detailController is loaded
[[NSUserDefaults standardUserDefaults] setInteger:record.recordID
forKey:@"record"];
detailController.record = record;
[self.navigationController pushViewController:detailController
animated:animated];
}
- (void)restore {
int recordID = [[NSUserDefaults standardUserDefaults] integerForKey:@"record"];
if(recordID) {
Record * record = [Record recordWithID:recordID];
[rootViewController showRecord:record animated:NO];
// If DetailViewController has its own state to restore, add this here:
// [detailController restore];
}
}
...
- (void)viewDidAppear:(BOOL)animated {
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"record"];
}
@end
@implementation MyAppDelegate
- (void)applicationDidFinishLaunching:(UIApplication*)application {
...
[rootViewController restore];
...
}
...
@end
Каждый уровень иерархии представления заботится о своем собственном сохранении состояния, таким образом, контроллер приложения не должен знать обо всех возможных представлениях и который приказывает, чтобы они могли быть в.
Я делаю это в своем приложении, Графике Офсетной печати. Если Вы находитесь на странице, когда Вы выходите, то в следующий раз Вы запускаетесь, она восстанавливает Вас к той странице. Это довольно легко, также: в реализации контроллера моего основного представления-viewDidLoad я проверяю на просматриваемый ключ последней страницы в пользовательских значениях по умолчанию. Если нет ничего, я продолжаю как нормальный (и покажите список всех страниц). Если существует что-то, я открываю ту страницу (продвигающий новый контроллер представления на стопку контроллера навигации).
Фактическая загрузка контроллеров представления очень проста: Я просто инстанцирую их. Каждый из моих классов контроллера представления переопределил-init для вызова-initWithNibName:bundle: на супер, настолько звонящем +alloc и-init для создания экземпляра контроллера представления достаточно для загрузки его из соответствующего .xib файла. Затем как описано выше, я продвигаю его на стопку контроллера навигации:
[self.navigationController pushViewController: controller animated: YES];
Можно сделать это столько слоев глубоко, сколько Вы должны, конечно, но принимаете во внимание, что можно хотеть продвинуть контроллеры представления без анимации, если там будет несколькими переходами; это было бы контрпродуктивно, чтобы пользователь должен был ожидать посредством нескольких анимаций (: