我有一个仪表板,您可以在其中使用小部件选择多个数据集。我正在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)
)
图形如下所示:
现在,我希望x轴从y-value = 1开始,以便更好地查看哪些值从起点开始增加或减少。是否可以将这个简单的折线图中的x轴起点从零移动到1? 我没有在Altair文档中找到任何东西。 还是可以在Y = 1处添加一条强线以查看标准化的基线?
答案 0 :(得分:2)
执行此操作的一种方法是使用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))
)