首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >改变Altair中的传奇的大小

改变Altair中的传奇的大小
EN

Stack Overflow用户
提问于 2019-04-01 01:23:01
回答 2查看 4.2K关注 0票数 8

我很喜欢Altair,因为它创建了choropleth地图!然而,我最大的问题是我不知道如何改变图例的大小。我已经通读了文档,并尝试了几种方法,但都无济于事。

下面是一个使用Altair文档中的unemployment map by county的示例。我添加了一个'config‘层来改变地图和图例标题的字体大小。注意“.configure_legend”中代码的.configure_legend()部分。

代码语言:javascript
复制
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

下面是图像应该是什么样子:

如果我像这样改变贴图的大小:

代码语言:javascript
复制
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

图例的大小保持不变,因此与地图相比,它现在看起来很小:

或者,如果我将地图尺寸设得很小,那么图例就会很大!

我已经尝试了十几种不同的方法,但都没有效果。

有人有解决这个问题的办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-01 02:42:56

正如您所看到的,图例有一个默认的像素大小,无论图表的大小如何,该大小都是恒定的。如果您想要调整它,您可以使用configure_legend()图表方法。

在Altair 3.0或更高版本中,以下参数是调整图例渐变大小的相关参数:

代码语言:javascript
复制
chart.configure_legend(
    gradientLength=400,
    gradientThickness=30
) 
票数 9
EN

Stack Overflow用户

发布于 2021-02-16 08:35:12

第一个答案是超级接近,但缺少更改图例中字体大小的最重要部分。使用下面的代码段调整图例中文本的字体大小。

代码语言:javascript
复制
.configure_legend(
titleFontSize=18,
labelFontSize=15
) 

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55443485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档