python - 如何在 Altair Visual 中的 Y 轴和条形图之间添加更多空间
问题描述
这是我现在的图表:
我想在百分比标签和条形图的开头之间留出更多空间,类似于此图表:
这是我正在处理的代码:
chart = alt.Chart(percentages_df).mark_bar(size=17, color= '#DAC352', dx=100).encode(
x=alt.X(
'PERCENT',axis=None),
y=alt.Y(
'PERCENT_TEXT',
axis=alt.Axis(domain=False, tickSize=0,title='') ,sort='-y'))
text = alt.Chart(percentages_df).mark_text().encode(
y=alt.Y('PERCENT_TEXT',axis=None, sort='-y'),
text='EMOJI'
)
new_chart = alt.hconcat(text, chart).configure_view(strokeWidth=0).configure_axis(grid=False)
new_chart
解决方案
您可以使用labelPadding
轴属性执行此操作,该属性指定标签和刻度之间的空间(以像素为单位)。例如:
import altair as alt
import pandas as pd
source = pd.DataFrame({
'a': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'],
'b': [28, 55, 43, 91, 81, 53, 19, 87, 52]
})
alt.Chart(source).mark_bar().encode(
x = 'b',
y=alt.Y('a', axis=alt.Axis(domain=False, tickSize=0, labelPadding=10))
)
推荐阅读
- python - 验证准确性没有提高
- sharepoint - dotnet Core - 使用 azure AD 身份验证从 sharepoint REST API 检索数据
- c - 尝试使用双指针复制字符串时出现分段错误
- ios - ios meta:我如何摆脱丑陋的雏菊
- linux - 有没有办法用 BlueZ 宣传多个信标
- spring - 在 Spring ResponseBodyAdvice 中访问 ModelView 属性
- postgresql - Docker PostgreSQL:初始化脚本
- spring-boot - 在idea中使用HTTP Client发送GET请求时返回“500 Internal Server Error”
- postgresql - 连接到 docker 中托管的 postgresql 时出现问题
- django - 如何在 django admin 中显示创建和更新日期?