Plotly范围滑块,不显示小线。

4
我想使用Plotly生成一个带有范围滑块的折线图。 范围滑块显示了再次显示的线条。 这段代码只是一个例子。 在我的情况下,我有很多子图,并且所有内容都显示了两次。 有可能在范围滑块中什么都不显示或仅显示日期吗?
import plotly.express as px
import yfinance as yf
yf.pdr_override()



df = yf.download(tickers='aapl' ,period='1d',interval='1m')

fig = px.line(df, x = df.index, y = 'Close',
              title='Apple Stock Price')

fig.update_layout(
    xaxis=dict(
        rangeselector=dict(
            buttons=list([
                dict(count=1,
                     label="1m",
                     step="month",
                     stepmode="backward"),
                dict(step="all")
            ])
        ),
        rangeslider=dict(
            visible=True
        ),
        type="date"
    )
)

fig.show()
1个回答

3
通过查看文档,似乎没有任何参数可以直接影响范围滑块线条,因为我认为该线条将具有与图中相同的所有属性(包括颜色,可见性,厚度)。
我能想到的最好解决方法是将范围滑块的背景颜色更改为与线条相同的颜色(仅当图中的所有跟踪都是相同的颜色时才有效)。我还可能会使范围滑块具有相对较小的厚度,以便它不那么显眼,但这是个人品味问题。
下面是一个示例:
fig.update_layout(
    xaxis=dict(
        rangeselector=dict(
            buttons=list([
                dict(count=1,
                     label="1m",
                     step="month",
                     stepmode="backward"),
                dict(step="all")
            ])
        ),
        rangeslider=dict(
            visible=True,
            bgcolor="#636EFA",
            thickness=0.05
        ),
        type="date"
    )
)

fig.show()

enter image description here


1
谢谢。一个有效的解决方法。我有很多不同颜色,所以改变背景颜色是不可能的。我把厚度变得更细了。现在比许多不同颜色更好了。 - Alex
1
很高兴听到这有所帮助!像 rangeslider=dict(showtraces=False) 这样的东西肯定会很不错。 - Derek O
1
同意。然而,如果将rangeslider的高度设置为较小值,比如在我的情况下是0.02,背景就无法再看到了。尽管高度仍然足够大以便轻松抓取。当高度设为0.05时,背景仍可见。我将此作为评论添加,因为在尝试了许多不同的高度后,我才发现这一点。 - Jakob

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