如何调整多重图形(牵牛星)的比例并添加图例?

2024-10-01 11:32:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我的代码:

    size = alt.datum.confirmed > 0

    testplot1 = alt.Chart(df_ww_ru).transform_filter(
        size
    ).mark_line(color='red').encode(
        x=alt.X('date:T', type='temporal', title='Дата'),
        y=alt.Y('sum(confirmed):Q',  title='aboba'),
        tooltip='sum(confirmed)'
    )

    testplot2 = alt.Chart(df_ru_ru).transform_filter(
        size
    ).mark_line(color='blue').encode(
        x=alt.X('date:T', type='temporal', title='Дата'),
        y=alt.Y('sum(confirmed):Q', title='aboba'),
        tooltip='sum(confirmed)'
    )

    testplot_rez = alt.layer(testplot1, testplot2).configure_view(
    ).properties(
        width=820,
        height=500
    ).configure_axis(
        labelFontSize=17,
        titleFontSize=20
    )

结果,我得到了这样一个具有完全巨大规模的图形。当我显示一个非合并的时间表时,一切都很好

enter image description here

如何解决这个问题?我还需要添加一个图例,在其中有必要签署这两行,如何做到这一点?是否可以用与matplotlib中类似的方式执行此操作?也就是说,手动命名所有内容


Tags: dfsizetitlerulinecharttransformfilter
1条回答
网友
1楼 · 发布于 2024-10-01 11:32:05

就添加图例而言,最简单的方法可能是将两个数据帧组合在一起,以便有一个数据帧包含dateconfirmedcategory列。category的值将是wu_ruru_ru。通过这种方式,您可以在创建altair绘图并具有legend created automatically as in this example时设置编码color='category'。您可能可以使用pandas merge或concat组合dfs,然后使用pandas melt将其转换为正确的格式More info about data formats in Altair can be found in the docs

就y轴范围而言,它会自动调整到数据中的内容,因此我会查看其中的值,并确保没有真正大的值偏离轴。如果要手动更改轴比例,可以使用类似alt.Y('sum(confirmed):Q', scale=alt.Scale(domain=0, 1000))

相关问题 更多 >