Skip to content

Commit f76901b

Browse files
authored
Merge pull request #229 from QuantEcon/caganree-graph
Adjust Graph Arrangement in `cagan_ree`
2 parents a3fcd2b + 612bd61 commit f76901b

File tree

1 file changed

+51
-59
lines changed

1 file changed

+51
-59
lines changed

lectures/cagan_ree.md

+51-59
Original file line numberDiff line numberDiff line change
@@ -321,28 +321,26 @@ def solve_and_plot(m0, α, T, μ_seq):
321321
π_seq, m_seq, p_seq = solve(model_params)
322322
T_seq = range(T + 2)
323323
324-
fig, ax = plt.subplots(2, 3, figsize=[10, 5], dpi=200)
324+
fig, ax = plt.subplots(5, figsize=[5, 12], dpi=200)
325325
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$')
328328
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$')
331331
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$')
334334
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$')
337337
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$')
340340
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$')
344343
345-
ax[1,2].set_axis_off()
346344
plt.tight_layout()
347345
plt.show()
348346
@@ -448,37 +446,34 @@ p_seq_2_regime2 = np.concatenate([p_seq_2_path1[:T1+1],
448446
T_seq = range(T+2)
449447
450448
# 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)
452450
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$')
455453
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$')
458456
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$')
461459
462-
ax[1,0].plot(T_seq, m_seq_2_regime1,
460+
ax[3].plot(T_seq, m_seq_2_regime1,
463461
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,
465463
label='Jumpy $m_{T_1}$')
466-
ax[1,0].set_ylabel(r'$m$')
464+
ax[3].set_ylabel(r'$m$')
467465
468-
ax[1,1].plot(T_seq, p_seq_2_regime1,
466+
ax[4].plot(T_seq, p_seq_2_regime1,
469467
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,
471469
label='Jumpy $m_{T_1}$')
472-
ax[1,1].set_ylabel(r'$p$')
470+
ax[4].set_ylabel(r'$p$')
473471
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$')
479474
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()
482477
483478
plt.tight_layout()
484479
plt.show()
@@ -510,48 +505,45 @@ unanticipated, as in experiment 2.
510505
511506
```{code-cell} ipython3
512507
# 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)
514509
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$')
517512
518-
ax[0,1].plot(T_seq, π_seq_2,
513+
ax[1].plot(T_seq, π_seq_2,
519514
label='Unforeseen')
520-
ax[0,1].plot(T_seq, π_seq_1,
515+
ax[1].plot(T_seq, π_seq_1,
521516
label='Foreseen', color='tab:green')
522-
ax[0,1].set_ylabel(r'$\pi$')
517+
ax[1].set_ylabel(r'$\pi$')
523518
524-
ax[0,2].plot(T_seq,
519+
ax[2].plot(T_seq,
525520
m_seq_2_regime1 - p_seq_2_regime1,
526521
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,
528523
label='Foreseen', color='tab:green')
529-
ax[0,2].set_ylabel(r'$m - p$')
524+
ax[2].set_ylabel(r'$m - p$')
530525
531-
ax[1,0].plot(T_seq, m_seq_2_regime1,
526+
ax[3].plot(T_seq, m_seq_2_regime1,
532527
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,
534529
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,
536531
label='Foreseen shock')
537-
ax[1,0].set_ylabel(r'$m$')
532+
ax[3].set_ylabel(r'$m$')
538533
539-
ax[1,1].plot(T_seq, p_seq_2_regime1,
534+
ax[4].plot(T_seq, p_seq_2_regime1,
540535
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,
542537
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,
544539
label='Foreseen')
545-
ax[1,1].set_ylabel(r'$p$')
540+
ax[4].set_ylabel(r'$p$')
546541
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$')
552544
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()
555547
556548
plt.tight_layout()
557549
plt.show()

0 commit comments

Comments
 (0)