はじめに
アスキーアート的に図を複数個作成できるmatplotlibのsubplot_mosaicにより、年賀状を作成する方法について説明する。
コード

解説
モジュールのインポートなど
rcParamsのfontの設定を変更して、日本語を使えるようにする。
バージョン
画像のパスのリスト
下記サイトから来年度の干支である牛関連の画像のurlのリストを作成する。
かわいいフリー素材集
いらすとやは季節のイベント・動物・子供などのかわいいイラストが沢山見つかるフリー素材サイトです。
住所の作成
レイアウトの作成
図はアスキーアート的に文字列で設定する事になる。
基本的な年賀状の作成
figsizeは年賀はがきのサイズとする。
fig.subplot_mosaic(layout1)により、先ほどのレイアウトをfigに適用する。
plt.imread(np.random.choice(pass_m))により、リスト内にランダムな値を選択して、画像を読み込み、imshowで表示する。axd[“a”].imshow(im_m)でレイアウトのaの位置に画像im_mが表示される。
axd[“c”]には.textで住所を表示する。右端揃えにするため、haを”right”とした。
ax.axis(“off”)により、図の枠を非表示とした。
plt.subplots_adjust(wspace=0, hspace=0)により、図間の間隔を横方向、縦方向ともに0とした。
メイン画像を2 × 2で表示した年賀状

メイン画像を3 × 3で表示した年賀状

向きが横の年賀状

参考
Complex and semantic figure composition — Matplotlib 3.3.0 documentation
コメント