Python 生产;回避;或;并排;Altair中的条形图/柱形图?
如果以前有人问过这个问题,我很抱歉,但我正在寻找一种方法,使用python中的Altair库创建“闪避”条形图(从Python 生产;回避;或;并排;Altair中的条形图/柱形图?,python,altair,Python,Altair,如果以前有人问过这个问题,我很抱歉,但我正在寻找一种方法,使用python中的Altair库创建“闪避”条形图(从ggplot2) 我知道牵牛星有: 生成此图的: 但是,这有很多冗余的标签和信息。理想情况下,我想要一个图,其中成对的条用颜色编码年份(蓝色是1931年,橙色是1932年),然后是沿x轴运行的城市(顺序变量) 很难解释,但下面是一个如何从seaborn(使用不同的数据;来源是)获得类似图的示例: 是的,您已经找到了在Altair中创建分组条形图的推荐方法。如果要调整图表的最终外观,
ggplot2
)
我知道牵牛星有:
生成此图的:
但是,这有很多冗余的标签和信息。理想情况下,我想要一个图,其中成对的条用颜色编码年份(蓝色是1931年,橙色是1932年),然后是沿x轴运行的城市(顺序变量)
很难解释,但下面是一个如何从seaborn(使用不同的数据;来源是)获得类似图的示例:
是的,您已经找到了在Altair中创建分组条形图的推荐方法。如果要调整图表的最终外观,可以执行删除和重新排列标签和标题等操作;下面是您如何修改示例以使其更接近seaborn图表:
import altair as alt
from vega_datasets import data
source = data.barley()
alt.Chart(source).mark_bar().encode(
x=alt.X('year:O', axis=alt.Axis(title=None, labels=False, ticks=False)),
y=alt.Y('sum(yield):Q', axis=alt.Axis(grid=False)),
color='year:N',
column=alt.Column('site:N', header=alt.Header(title=None, labelOrient='bottom'))
).configure_view(
stroke='transparent'
)
如果有人通过谷歌等途径来到这里,下面的代码可以让这些条靠得更近:
import altair as alt
from vega_datasets import data
source = data.barley()
alt.Chart(source).mark_bar().encode(
alt.X('year:O', axis=None),#axis=alt.Axis(title=None, labels=False, ticks=False)),
alt.Y('sum(yield):Q', axis=alt.Axis(grid=True)),
alt.Facet('site:N',title="Facet title Here",),
color='year:N',
).properties(height=150, width=80).configure_view(
stroke='transparent'
).configure_scale(bandPaddingInner=0,
bandPaddingOuter=0.1,
).configure_header(labelOrient='bottom',
labelPadding = 3).configure_facet(spacing=5
)
结果:
感谢杰克用他的答案为我指出了正确的方向 太好了,谢谢你的信息!有没有办法让酒吧群彼此更接近?基本上缩小不同“站点”之间的距离,例如尝试
图表。配置面(间距=5)
以像素为单位控制站点之间的空间。
import altair as alt
from vega_datasets import data
source = data.barley()
alt.Chart(source).mark_bar().encode(
alt.X('year:O', axis=None),#axis=alt.Axis(title=None, labels=False, ticks=False)),
alt.Y('sum(yield):Q', axis=alt.Axis(grid=True)),
alt.Facet('site:N',title="Facet title Here",),
color='year:N',
).properties(height=150, width=80).configure_view(
stroke='transparent'
).configure_scale(bandPaddingInner=0,
bandPaddingOuter=0.1,
).configure_header(labelOrient='bottom',
labelPadding = 3).configure_facet(spacing=5
)