@@ -321,28 +321,26 @@ def solve_and_plot(m0, α, T, μ_seq):
321
321
π_seq, m_seq, p_seq = solve(model_params)
322
322
T_seq = range(T + 2)
323
323
324
- fig, ax = plt.subplots(2, 3, figsize=[10, 5 ], dpi=200)
324
+ fig, ax = plt.subplots(5, figsize=[5, 12 ], dpi=200)
325
325
326
- ax[0,0 ].plot(T_seq[:-1], μ_seq)
327
- ax[0,0 ].set_ylabel(r'$\mu$')
326
+ ax[0].plot(T_seq[:-1], μ_seq)
327
+ ax[0].set_ylabel(r'$\mu$')
328
328
329
- ax[0, 1].plot(T_seq, π_seq)
330
- ax[0, 1].set_ylabel(r'$\pi$')
329
+ ax[1].plot(T_seq, π_seq)
330
+ ax[1].set_ylabel(r'$\pi$')
331
331
332
- ax[0, 2].plot(T_seq, m_seq - p_seq)
333
- ax[0, 2].set_ylabel(r'$m - p$')
332
+ ax[2].plot(T_seq, m_seq - p_seq)
333
+ ax[2].set_ylabel(r'$m - p$')
334
334
335
- ax[1,0 ].plot(T_seq, m_seq)
336
- ax[1,0 ].set_ylabel(r'$m$')
335
+ ax[3 ].plot(T_seq, m_seq)
336
+ ax[3 ].set_ylabel(r'$m$')
337
337
338
- ax[1,1 ].plot(T_seq, p_seq)
339
- ax[1,1 ].set_ylabel(r'$p$')
338
+ ax[4 ].plot(T_seq, p_seq)
339
+ ax[4 ].set_ylabel(r'$p$')
340
340
341
- for i in range(2):
342
- for j in range(3):
343
- ax[i, j].set_xlabel(r'$t$')
341
+ for i in range(5):
342
+ ax[i].set_xlabel(r'$t$')
344
343
345
- ax[1,2].set_axis_off()
346
344
plt.tight_layout()
347
345
plt.show()
348
346
@@ -448,37 +446,34 @@ p_seq_2_regime2 = np.concatenate([p_seq_2_path1[:T1+1],
448
446
T_seq = range(T+2)
449
447
450
448
# plot both regimes
451
- fig, ax = plt.subplots(2, 3 , figsize=[10,5 ], dpi=200)
449
+ fig, ax = plt.subplots(5, 1 , figsize=[5, 12 ], dpi=200)
452
450
453
- ax[0,0 ].plot(T_seq[:-1], μ_seq_2)
454
- ax[0,0 ].set_ylabel(r'$\mu$')
451
+ ax[0].plot(T_seq[:-1], μ_seq_2)
452
+ ax[0].set_ylabel(r'$\mu$')
455
453
456
- ax[0, 1].plot(T_seq, π_seq_2)
457
- ax[0, 1].set_ylabel(r'$\pi$')
454
+ ax[1].plot(T_seq, π_seq_2)
455
+ ax[1].set_ylabel(r'$\pi$')
458
456
459
- ax[0, 2].plot(T_seq, m_seq_2_regime1 - p_seq_2_regime1)
460
- ax[0, 2].set_ylabel(r'$m - p$')
457
+ ax[2].plot(T_seq, m_seq_2_regime1 - p_seq_2_regime1)
458
+ ax[2].set_ylabel(r'$m - p$')
461
459
462
- ax[1,0 ].plot(T_seq, m_seq_2_regime1,
460
+ ax[3 ].plot(T_seq, m_seq_2_regime1,
463
461
label='Smooth $m_{T_1}$')
464
- ax[1,0 ].plot(T_seq, m_seq_2_regime2,
462
+ ax[3 ].plot(T_seq, m_seq_2_regime2,
465
463
label='Jumpy $m_{T_1}$')
466
- ax[1,0 ].set_ylabel(r'$m$')
464
+ ax[3 ].set_ylabel(r'$m$')
467
465
468
- ax[1,1 ].plot(T_seq, p_seq_2_regime1,
466
+ ax[4 ].plot(T_seq, p_seq_2_regime1,
469
467
label='Smooth $m_{T_1}$')
470
- ax[1,1 ].plot(T_seq, p_seq_2_regime2,
468
+ ax[4 ].plot(T_seq, p_seq_2_regime2,
471
469
label='Jumpy $m_{T_1}$')
472
- ax[1,1 ].set_ylabel(r'$p$')
470
+ ax[4 ].set_ylabel(r'$p$')
473
471
474
- for i in range(2):
475
- for j in range(3):
476
- ax[i, j].set_xlabel(r'$t$')
477
-
478
- ax[1,2].set_axis_off()
472
+ for i in range(5):
473
+ ax[i].set_xlabel(r'$t$')
479
474
480
- for i,j in zip([1,1], [0,1]) :
481
- ax[i,j ].legend()
475
+ for i in [3, 4] :
476
+ ax[i].legend()
482
477
483
478
plt.tight_layout()
484
479
plt.show()
@@ -510,48 +505,45 @@ unanticipated, as in experiment 2.
510
505
511
506
```{code-cell} ipython3
512
507
# compare foreseen vs unforeseen shock
513
- fig, ax = plt.subplots(2, 3, figsize=[12,6 ], dpi=200)
508
+ fig, ax = plt.subplots(5, figsize=[5, 12 ], dpi=200)
514
509
515
- ax[0,0 ].plot(T_seq[:-1], μ_seq_2)
516
- ax[0,0 ].set_ylabel(r'$\mu$')
510
+ ax[0].plot(T_seq[:-1], μ_seq_2)
511
+ ax[0].set_ylabel(r'$\mu$')
517
512
518
- ax[0, 1].plot(T_seq, π_seq_2,
513
+ ax[1].plot(T_seq, π_seq_2,
519
514
label='Unforeseen')
520
- ax[0, 1].plot(T_seq, π_seq_1,
515
+ ax[1].plot(T_seq, π_seq_1,
521
516
label='Foreseen', color='tab:green')
522
- ax[0, 1].set_ylabel(r'$\pi$')
517
+ ax[1].set_ylabel(r'$\pi$')
523
518
524
- ax[0, 2].plot(T_seq,
519
+ ax[2].plot(T_seq,
525
520
m_seq_2_regime1 - p_seq_2_regime1,
526
521
label='Unforeseen')
527
- ax[0, 2].plot(T_seq, m_seq_1 - p_seq_1,
522
+ ax[2].plot(T_seq, m_seq_1 - p_seq_1,
528
523
label='Foreseen', color='tab:green')
529
- ax[0, 2].set_ylabel(r'$m - p$')
524
+ ax[2].set_ylabel(r'$m - p$')
530
525
531
- ax[1,0 ].plot(T_seq, m_seq_2_regime1,
526
+ ax[3 ].plot(T_seq, m_seq_2_regime1,
532
527
label=r'Unforseen (Insist on $m_{T_1}$)')
533
- ax[1,0 ].plot(T_seq, m_seq_2_regime2,
528
+ ax[3 ].plot(T_seq, m_seq_2_regime2,
534
529
label=r'Unforseen (Reset $m_{T_1}$)')
535
- ax[1,0 ].plot(T_seq, m_seq_1,
530
+ ax[3 ].plot(T_seq, m_seq_1,
536
531
label='Foreseen shock')
537
- ax[1,0 ].set_ylabel(r'$m$')
532
+ ax[3 ].set_ylabel(r'$m$')
538
533
539
- ax[1,1 ].plot(T_seq, p_seq_2_regime1,
534
+ ax[4 ].plot(T_seq, p_seq_2_regime1,
540
535
label=r'Unforseen (Insist on $m_{T_1}$)')
541
- ax[1,1 ].plot(T_seq, p_seq_2_regime2,
536
+ ax[4 ].plot(T_seq, p_seq_2_regime2,
542
537
label=r'Unforseen (Reset $m_{T_1}$)')
543
- ax[1,1 ].plot(T_seq, p_seq_1,
538
+ ax[4 ].plot(T_seq, p_seq_1,
544
539
label='Foreseen')
545
- ax[1,1 ].set_ylabel(r'$p$')
540
+ ax[4 ].set_ylabel(r'$p$')
546
541
547
- for i in range(2):
548
- for j in range(3):
549
- ax[i, j].set_xlabel(r'$t$')
550
-
551
- ax[1,2].set_axis_off()
542
+ for i in range(5):
543
+ ax[i].set_xlabel(r'$t$')
552
544
553
- for i,j in zip([0,0,1,1], [1,2,0,1] ):
554
- ax[i,j ].legend()
545
+ for i in range(1, 5 ):
546
+ ax[i].legend()
555
547
556
548
plt.tight_layout()
557
549
plt.show()
0 commit comments