Plotly.express滑块不自动调整范围

3

目标和内容

使用Python Plotly.Express,我拥有一个滑块,可以让我在我的数据不同日期之间“滑动”。因此,我可以有一个图表来显示相同日期的数据,然后滑动到另一个日期并有另一个图表,其中包含与滑块日期对应的新数据。 如果难以理解,请参考下面的图片(它是从互联网上获取的,但显示了滑块,可以滑动不同年份): enter image description here

因此,我的目标是将滑块放置在图表中,以便显示与当前滑块日期相对应的数据。

问题

我的问题是,当我使用滑块时,它确实显示了正确的数据点,但x轴和y轴未更改范围。简而言之,滑动时未能正确自动缩放范围

我的x轴为分类变量(名称),而y轴为价格。因此,当我滑动到另一个日期时,确实会有点数发生变化,但类别仍保持初始类别。y轴也是如此。

enter image description here

例如,如果我滑动到日期X,我将以A、B和C作为x轴范围,每个范围内y轴位于1-3美元。但是,如果我滑动到日期Y,数据将正确更改,但范围不会缩放到新数据。因此,对于日期Y,我将看不到任何点,因为类别仍然保持为初始的A、B、C,而不是在x轴上显示C、E、F。此外,对于y轴,它仍将仅显示从1到3美元的范围,而不是缩放到新范围3-130$。

我尝试过的方法

我似乎遇到了与这个人相同的问题,但没有答案。我也尝试了她尝试过的方法:https://community.plotly.com/t/auto-scale-plotly-express/33364。我也想尝试这个方法,但我不知道应该在我的代码中正确放置它:https://community.plotly.com/t/solved-how-to-progamatically-autoscale-plot/3278

我的代码

这是我现在的代码:

        data.columns = ['price', 'category', 'date']
        data = data.sort_values(by=['date', 'price'])
        fig = px.scatter(data, x = "category", y = "price", animation_frame="date")
        fig.update_layout(
            yaxis_title="Price (€)",
        )
        fig['layout']['updatemenus'][0]['pad']['t'] = 180
        fig['layout']['sliders'][0]['pad']['t'] = 200
        fig.write_html("/home/**/Desktop/1.html", auto_play=True)

我会尽力为您提供服务。以下是需要翻译的内容:

我希望我说得足够清晰。如果您需要任何额外信息,请告诉我。欢迎任何想法或建议 :)

1个回答

2

谢谢。有没有一种方法可以使用可能的分类变量初始化x轴? - colla
例如,作为我的 x 轴放置 A、B、C、E、F,并强制我的点适应初始化的 x 轴?我正在使用 plotly express,并找不到一种初始化我的 x 轴的方法......使其成为相同的 x 轴,无论日期是什么。 - colla
如果需要,我在这里更好地阐述了问题: https://dev59.com/3Lzpa4cB1Zd3GeqPTN0F - colla

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接