Plotly
go は import plotly.graph_objects as go のこと
ボトムアップに fig = go.Figure(), fig.add_trace(go.Scatter(...)) と組み立てなくても
fig = px.scatter(...), for trace in fig.data で図を書いた後に trace にアクセスできる
色分け
color="foo_id" foo_id 列の値で色分けする
color_discrete_map={"(?)": "lightgray"}, 階層などで foo_id がない時に使われる色指定、gainsboro
いいグラフ
treemap もありだがラベルテキスト短くないときつい
update_traces
texttemplate
code:texttemplate.py
fig = px.foo(...)
fig.update_traces(texttemplate='%{label}')
のように指定するやつは d3 の template 形式、textinfo を上書きする
'%{label} <br> %{value:$.2f}'
css 書いて text の word-wrap 設定したいと思ったけど svg 内なのでむりそう
3次元散布図
hover_data に指定したらホバーで読める
lables でも読めそうだけどなんか出なかった、条件があるのかも
code:scatter.py
import plotly.express as px
fig = px.scatter_3d(
df_tsne, x='x', y='y', z='z', color='meaning', hover_data='text', 'lang' )
fig.show()
カラーパレット連続値か離散値か
数値なら連続値扱い、ラベルとして扱いたいなら文字列型の列を color にわたす
iframe でサイトに埋め込む