[Python] Altair의 범례(legend)를 플롯 영역 내에 표시시킨다

How To Place Legend Inside the Plot area in Altair

이 기사에 대하여



최근에는 pandas/dataframe과 궁합이 좋은 Altair가 신경쓰고 사용하고 있습니다.
그러나 범례의 위치는 matplotlib이라면 플롯 내에 표시되는데, Altair라고 밖에 되어 버려, 위치의 조절 방법을 몰랐습니다. 영어에서도 좀처럼 자료를 찾을 수 없었습니다만, Altair가 퍼스하고 있는 Vega-Lite의 문서등을 보고 해결했으므로, 기사로 합니다.

매우 참고로 해 주신, 이쪽의 사이트보다 Iris의 데이터의 그래프로 설명하고 싶습니다.
Altair의 추천! 파이썬으로 데이터 시각화

BEFORE 기본적으로 오른쪽으로 나옵니다.

import altair as alt
from vega_datasets import data
iris = data.iris()

alt.Chart(iris).mark_point().encode(
    alt.X("sepalLength", scale=alt.Scale(zero=False)),
    alt.Y("sepalWidth", scale=alt.Scale(zero=False)),
    color="species"
).interactive()

AFTER plot area의 임의의 장소로 옮길 수 있습니다


import altair as alt
from vega_datasets import data
iris = data.iris()

alt.Chart(iris).mark_point().encode(
    alt.X("sepalLength", scale=alt.Scale(zero=False)),
    alt.Y("sepalWidth", scale=alt.Scale(zero=False)),
    color=alt.Color("species", 
        legend=alt.Legend(orient='none', legendX=250, legendY=5,  ## orientをnoneに設定するとlegenX,legendYが指定できる
                strokeColor='blue', fillColor='white', padding=10)) ## legendの四角の設定
)

범례 설정 포인트



코드를 보시면 알 수 있을까 생각합니다만, alt.Legend로 여러가지 세세하게 조정할 수 있습니다.
LegendX와 LegendY로 위치를 조정할 수 있습니다만, 그 때에 oriend='none'로서 두는 것이 포인트입니다. 덧붙여,이 x와 y의 수치는 무엇인지, 조금 모릅니다.

이하, 참고로 한 Veg-Lite의 document의 소중한 곳을 스쿠쇼해 실립니다.
Legend | Vega-Lite
h tps:///ゔぇ가. 기주 b. 이오/ゔぇ가ーぃ테/도 cs/ぇ겐 d. HTML





이 기사와 관련이 없지만,이 중국의 사이트의 예는 충실했습니다.
Python Altair COVID-19 역정수 가가화 화천 천배
htps //w w. cbbgs. 코 m / t t k / 아 r ゔ / 2004/01/13 / 코 ゃ d 19. HTML

좋은 웹페이지 즐겨찾기