如何修改牵牛星线图中的时间间隔?

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

我有一个简单的线图,看起来像这样。股票回报率的直线图

我一直在尝试格式化x轴,使时间间隔以年为单位,而不是现在的月。但是当我使用timeUnit属性时,它产生了一个像这样的迟钝的图形。以年为单位的股票回报线图

代码。

alt.Chart(data).mark_line().encode(
    x = alt.X('Date', timeUnit = 'year'),
    y = alt.Y('Cumul_R', axis = alt.Axis(format='%', orient='right')),

    color = 'Stock')

我想制作的是一个像第一张图一样的图表,但是以年为单位,比如06-2010,06-2011,......等等,而不像第二张图那样压缩图表。换句话说,我怎样才能只显示一些刻度标签,而不是全部。

我看到了我的问题的答案,但是他们使用tickCount或tickMinStep来处理绝对值,而不是日期时间值。显然,在我的问题中,有一个叫做timeinterval的altair属性。https:/altair-viz.github.iouser_guidegeneratedcorealtair.TimeInterval.html#altair.TimeInterval.initiate.html#altair.TimeInterval.html那可能会解决这个问题,但我不知道怎么用。

感谢大家对此事的帮助。谢谢大家

python altair
1个回答
1
投票

看来你的日期是以下列方式绘制的 名义 类型化的值,而你可能应该将它们绘制成 暂时.

你应该改变 x = alt.X('Date')x = alt.X('Date:T') 来指定x通道是时态的。当你这样做的时候,渲染器将使用一个可能更接近你所想的时间轴标签。

请看 编码数据类型 更多信息请参见文档。

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