如何解决 Altair 图表空白的问题

问题描述 投票:0回答:1

我正在尝试绘制具有年份时间序列(x 轴)和total_vchrs(y)的客户端 id 的分面图

    client_id   year    total_vchrs
0   1564931 2021    4.00
1   2013493 2021    0.00
2   1587580 2021    1.00
3   2259014 2021    0.00
4   2293939 2021    0.00
...

数据看起来很简单。

client_id       object
year             int64
total_vchrs    float64
dtype: object

代码是透明的。

chart = alt.Chart(melted_df).mark_bar().encode(
    x=alt.X('year:O', title='Year'),
    y=alt.Y('total_vchrs:Q', title='Total Vouchers'),
    #color=alt.Color('client_id:N', title='Client ID'),
    facet=alt.Facet('client_id:N', columns=1, title='Client ID')
).properties(
    width=600,
    height=100,
    title="Total vouchers Over Time by Client ID"
)

chart

但是结果就是不开心的方脸:

enter image description here

我需要做什么来解决这个问题?

python altair
1个回答
0
投票

这是由于您正在创建许多方面以及每个方面的 siE(因此在某种程度上与绘制的图表的总面积相关)。您可以通过增加和减少数据帧中的观测值数量 (500) 和每个图表的高度 (10) 来尝试使用以下代码:

import altair as alt
import pandas as pd

df = pd.DataFrame({
    'client_id': [random.randint(0, 11111) for x in range(500)] 
})
alt.Chart(df).mark_bar().encode(
    facet=alt.Facet('client_id:N', columns=1, title='Client ID')
).properties(
    height=10,
)

我对浏览器如何处理图形了解不够,无法准确说出正在发生的事情,但我相信悲伤的表情表明某些渲染过程崩溃了。您可以尝试不同的浏览器,看看它们之间是否有不同。

© www.soinside.com 2019 - 2024. All rights reserved.