在最左边的条和 y 轴之间添加填充
Add padding between far left-most bar and y-axis
我想使用 Altair Python 在条形图的 x 轴和 y 轴最左边的条 (A) 之间添加填充。我正在使用 Python V.3.8 和 altair V.4.2.0.
我是 Altair 的新手,所以我正在试验 altair 文档中提供的示例,所以这是他们文档中的示例代码片段 (https://altair-viz.github.io/gallery/simple_bar_chart.html):
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='a',
y='b'
)
我想在 x 轴和 y 轴的元素 A 之间添加填充或 space。另外,我想从 x 轴的底部引入填充,这会将所有条形图提升到顶部。
我尝试了以下但没有任何改变:
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=alt.X("a", axis=alt.Axis(tickSize=7, titlePadding=10, tickColor="black", labelPadding=6, domainWidth=1.7,domainCap="round", domainColor='black')
y=alt.Y("b", axis=alt.Axis(tickSize=7, titlePadding=10, tickColor="black", labelPadding=6, domainWidth=1.7,domainCap="round", domainColor='black')
)
如何如上所述在两个轴中引入填充?
在此先感谢您。
简单地移动轴可以通过将偏移值添加到预期的值来完成。
import altair as alt
import pandas as pd
import numpy as np
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=alt.X('a', axis=alt.Axis(offset=10)),
y=alt.Y('b', axis=alt.Axis(offset=10))
)
要升图
条的宽度和 y-axis 的范围已调整。
alt.Chart(source).mark_bar(size=10).encode(
x=alt.X('a', scale=alt.Scale(domainMin=-5, padding=3)),
y=alt.Y('b', scale=alt.Scale(domainMin=-5, padding=3))
)
您可以使用paddingOuter
比例参数:
alt.Chart(source).mark_bar().encode(
x=alt.X("a", scale=alt.Scale(paddingOuter=0.5)),
y=alt.Y("b")
)
同样可以通过 .configure_scale
实现,但是 using the encoding as above is the recommended approach in most cases as per the docs:
alt.Chart(source).mark_bar().encode(
x=alt.X("a"),
y=alt.Y("b")
).configure_scale(
bandPaddingOuter=0.5
)
我想使用 Altair Python 在条形图的 x 轴和 y 轴最左边的条 (A) 之间添加填充。我正在使用 Python V.3.8 和 altair V.4.2.0.
我是 Altair 的新手,所以我正在试验 altair 文档中提供的示例,所以这是他们文档中的示例代码片段 (https://altair-viz.github.io/gallery/simple_bar_chart.html):
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='a',
y='b'
)
我想在 x 轴和 y 轴的元素 A 之间添加填充或 space。另外,我想从 x 轴的底部引入填充,这会将所有条形图提升到顶部。
我尝试了以下但没有任何改变:
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=alt.X("a", axis=alt.Axis(tickSize=7, titlePadding=10, tickColor="black", labelPadding=6, domainWidth=1.7,domainCap="round", domainColor='black')
y=alt.Y("b", axis=alt.Axis(tickSize=7, titlePadding=10, tickColor="black", labelPadding=6, domainWidth=1.7,domainCap="round", domainColor='black')
)
如何如上所述在两个轴中引入填充?
在此先感谢您。
简单地移动轴可以通过将偏移值添加到预期的值来完成。
import altair as alt
import pandas as pd
import numpy as np
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=alt.X('a', axis=alt.Axis(offset=10)),
y=alt.Y('b', axis=alt.Axis(offset=10))
)
要升图
条的宽度和 y-axis 的范围已调整。
alt.Chart(source).mark_bar(size=10).encode(
x=alt.X('a', scale=alt.Scale(domainMin=-5, padding=3)),
y=alt.Y('b', scale=alt.Scale(domainMin=-5, padding=3))
)
您可以使用paddingOuter
比例参数:
alt.Chart(source).mark_bar().encode(
x=alt.X("a", scale=alt.Scale(paddingOuter=0.5)),
y=alt.Y("b")
)
同样可以通过 .configure_scale
实现,但是 using the encoding as above is the recommended approach in most cases as per the docs:
alt.Chart(source).mark_bar().encode(
x=alt.X("a"),
y=alt.Y("b")
).configure_scale(
bandPaddingOuter=0.5
)