Pythonでマトリックスっぽいサムネイル
Pythonのグラフを作成機能で、サムネつくれるんじゃね?
という安易な思いつきから、色々いじってみた。
最近、マトリックスの新作が公開されたことだし、
どうせなら、マトリックスっぽいサムネをつくってみよう!
0.事前準備
日本語のライブラリをインストール
pip install japanize_matplotlib
1.コーティング
コーディングは下記。
import numpy as np
import japanize_matplotlib
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams['axes.facecolor'] = 'black'
fig, ax1 = plt.subplots(figsize=(20,7),facecolor="black")
ax1.axes.xaxis.set_visible(False)
ax1.axes.yaxis.set_visible(False)
# 背景で呼び出される文章
text=["ぱおん それな",
"インデックスしか勝たん",
" GAFAMは債券",
"100010101101010",
"小型グロース ぴえん",
" 高配当でFIRE",
"111001101111010",
"きゅんです 草",
"matplotlib.animation ",
" テーパリング",
"001010010101010",
"plt.subplots(figsize =",
"IPython.displayrandom"
]
# サムネ文
text2=[
"【 Python 】",
"Pythonで",
"マトリックスっぽい",
"サムネをつくる"
]
# 背景作成のループ処理(座標ランダム、文章は割り算の商)
for i in range(1,200):
rand1 = np.random.rand()
rand2 = np.random.rand()
rand3 = np.random.rand()
ax1.annotate(text[ i%len(text) ], (rand1,rand2-0.1),size=20,color="#00ff41",alpha=0.25, rotation="vertical")
ax1.annotate(text[ i%len(text) ], (rand1*1.01,rand2*1.01-0.1),size=20,color="white",alpha=0.15, rotation="vertical")
ax1.annotate(text[ (i+1)%len(text) ], (rand3,rand2-0.1),size=20,color="#00ff41",alpha=0.3, rotation="vertical")
ax1.annotate(text[ (i+1)%len(text) ], (rand2,rand3-0.1),size=20,color="white",alpha=0.15, rotation="vertical")
# サムネ文字に影をつける処理
for i in range(5):
ax1.annotate(text2[0], (0.+i*i*0.001,1+i*i*0.001),size=50,color="#00ff41",alpha=0.2-(i*0.01))
ax1.annotate(text2[1], (0.1+i*i*0.001,0.70+i*i*0.001),size=110,color="#00ff41",alpha=0.3-(i*0.01))
ax1.annotate(text2[2], (0.1+i*i*0.001,0.40+i*i*0.001),size=110,color="#00ff41",alpha=0.2-(i*0.01))
ax1.annotate(text2[3], (0.1+i*i*0.001,0.1+i*i*0.001),size=110,color="#00ff41",alpha=0.2-(i*0.01))
# サムネ文字
ax1.annotate(text2[0], (0,1),size=50,color="white",alpha=1)
ax1.annotate(text2[1], (0.1,0.70),size=110,color="white",alpha=1)
ax1.annotate(text2[2], (0.1,0.40),size=110,color="white",alpha=1)
ax1.annotate(text2[3], (0.1,0.1),size=110,color="white",alpha=1)
plt.show()
2.実行結果
プログラムを実行すると下記のような実行結果が出力される。
改善の余地はありそうだけど、
まぁ結構、いい感じにできたのではないだろうか。
少し前から構想を練っていたんだけど、なかなか手をつけられていなかったので、新年を迎えて心機一転で作ってみた。
参考になる人はあまりいないかもしれないけど、何かの参考になれば幸いです。では!
ちなみに背景の文章に仕込んだネタはこんな感じ。
ここから先は
0字
¥ 100
この記事が気に入ったらチップで応援してみませんか?