gpt4 book ai didi

python - 如何使用 Python Altair 将 x 轴和 y 轴的交点从 0 移到 1?

转载 作者:行者123 更新时间:2023-12-04 09:15:19 25 4
gpt4 key购买 nike

我有一个仪表板,您可以在其中使用小部件选择多个数据集。我使用 Python 中的 Altair 库从这些数据集中制作经典折线图,x 轴和 y 轴均从零开始。显示的数据是标准化数据,这意味着根据定义,所有数据集都从 y 值 = 1 开始。由于数据集代表不同的参数,因此 y 轴在数据集之间动态变化。该图的编码大致如下:

chart = alt.Chart(df_datapoints).mark_line().encode(
x=alt.X('X-Value',axis=alt.Axis(title='X-Values', tickCount=10)),
y=alt.Y('Y-Value', axis=alt.Axis(title='Normalized to Baseline')),
color=alt.Color('Test ID', legend=None)
)
该图如下所示:
enter image description here
现在我想让 x 轴从 y 值 = 1 开始,以便更好地查看哪些值从起点增加或减少。是否有可能将这个简单折线图中 x 轴的起点从 0 移到 1?
我在 Altair 文档中没有找到任何内容。
或者是否可以在 Y=1 处添加一条强线以查看标准化基线?

最佳答案

一种方法是使用 axis.offset属性,它控制轴的偏移量(以像素为单位)。如果您希望轴在特定数据点相交,则必须根据数据的边界进行调整:

import altair as alt
import pandas as pd

df = pd.DataFrame({
'x': [0, 1, 2, 3, 4],
'y': [0, 1, 2, 3, 4],
})

alt.Chart(df).mark_line().encode(
x=alt.X('x', axis=alt.Axis(grid=False, offset=-75)),
y=alt.Y('y', axis=alt.Axis(grid=False, offset=-100))
)
enter image description here

关于python - 如何使用 Python Altair 将 x 轴和 y 轴的交点从 0 移到 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63249281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com