Изменение размера легенды на Альтаире - PullRequest
2 голосов
/ 31 марта 2019

Я люблю Альтаира за создание карт с хороплетами!Однако моя самая большая проблема - я не могу понять, как изменить размер легенды.Я прочитал документацию и попробовал несколько вещей безрезультатно.

Вот пример использования карты безработицы по округам из документов Альтаира.Я добавил слой «config», чтобы изменить размер шрифта для заголовка на карте и в легенде.Обратите внимание на часть кода .configure_legend () в «config».

counties = alt.topo_feature(data.us_10m.url, 'counties')
source = data.unemployment.url

foreground = alt.Chart(counties).mark_geoshape(
    ).encode(
    color=alt.Color('rate:Q', sort="descending",  scale=alt.Scale(scheme='plasma'), legend=alt.Legend(title="Unemp Rate", tickCount=6))
).transform_lookup(
    lookup='id',
    from_=alt.LookupData(source, 'id', ['rate'])
).project(
    type='albersUsa'
).properties(
    title="Unemployment Rate by County",
    width=500,
    height=300
)

config = alt.layer(foreground).configure_title(fontSize=20, anchor="middle").configure_legend(titleColor='black', titleFontSize=14) 

config

Вот как должно выглядеть изображение:

enter image description here

Если я изменю размер карты следующим образом:

counties = alt.topo_feature(data.us_10m.url, 'counties')
source = data.unemployment.url

foreground = alt.Chart(counties).mark_geoshape(
    ).encode(
    color=alt.Color('rate:Q', sort="descending",  scale=alt.Scale(scheme='plasma'), legend=alt.Legend(title="Unemp Rate", tickCount=6))
).transform_lookup(
    lookup='id',
    from_=alt.LookupData(source, 'id', ['rate'])
).project(
    type='albersUsa'
).properties(
    title="Unemployment Rate by County",
    width=900,
    height=540
)

config = alt.layer(foreground).configure_title(fontSize=20, anchor="middle").configure_legend(titleColor='black', titleFontSize=14) 

config

Легенда остается того же размера, поэтому теперь она выглядит крошечной по сравнению с картой:

enter image description here

В качестве альтернативы,если я уменьшу размер карты, легенда будет огромной!

enter image description here

Я пробовал около дюжины разных вещей, но безрезультатно.

У кого-нибудь есть решение этой проблемы?

1 Ответ

3 голосов
/ 31 марта 2019

Как вы уже видели, легенда имеет размер по умолчанию в пикселях, который является постоянным независимо от размера диаграммы. Если вы хотите настроить его, вы можете использовать configure_legend() метод диаграммы.

В Altair 3.0 или более поздней версии следующие параметры являются подходящими для настройки размера градиента легенды:

chart.configure_legend(
    gradientLength=400,
    gradientThickness=30
) 
...