3D 散布図のイメージを作りたかったので、
google colaboratoryでmatplotlibを使い画像ファイル作りました。
すべての点にラベルつけてます。
#matplotlibで日本語を使えるようにする
!pip install japanize-matplotlib
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import pyplot
from numpy.random import rand
from pylab import figure
from google.colab import files
import pandas as pd
import japanize_matplotlib
#散布図の各点のラベル名と3次元座標
#点が多い場合はcsvとか読みこんだ方がいいかも
df = pd.DataFrame({'ラード説': [20, 30, 20],
'鶏油説': [10, 15, 15],
'香味油説': [5, -10, 10],
'ウェイパー説': [40, 50, 25],
'味の素説': [15, -30, -15],
'中華鍋説': [0, 0, 50],
'鍋のあおり説': [0, 5, 30],
'硬めご飯説': [-20, 20, 40],
'タイ米説': [-15, -25, 45],
'卵かけご飯説': [-35, -15, 45],
'酒説': [10, -20, -30],
'マヨネーズ説':[-5, 20, -10],
'チャーシュー説': [40, 10, -15],
'水島流チャーハン説':[10, -50, -50]
})
#画像サイズと解像度
fig = figure(figsize=(10, 10), dpi=100)
ax = fig.add_subplot(111, projection='3d')
#各点を描画していく
for i in range(df.shape[1]):
ax.scatter(df.iloc[0,i],df.iloc[1,i],df.iloc[2,i])
ax.text(df.iloc[0,i],df.iloc[1,i],df.iloc[2,i], '%s' % (df.columns[i]), size=15)
#軸ラベル
ax.set_xlabel('美味しい - 微妙')
ax.set_ylabel('素材の味 - 調味料の味')
ax.set_zlabel('しっとり - パラパラ')
#軸の長さ
ax.set_xlim(-55, 55)
ax.set_ylim(-55, 55)
ax.set_zlim(-55, 55)
#出力するpngファイル名
pyplot.savefig( '炒飯のコツ-3D-散布図.png' )
pyplot.show()
#pngファイルのDL
files.download('炒飯のコツ-3D-散布図.png')
※ちなみにこの図は私が書いてる炒飯のブログで使ったものです。