1

我想在 X 轴上添加一个(水平)滚动条,因为点数很大。我该怎么做?

trace0 = go.Scatter(
    x = x1_values,
    y = y1_values,
    name = "V1"
)

data = [trace0]

layout = dict(title = title,
              xaxis = dict(tickmode='linear', tickfont=dict(size=10)),
              yaxis = dict(title = "Title")
            )

fig = dict(data=data, layout=layout)


iplot(fig)
4

1 回答 1

2

使用 plotly,您可以使用fig['layout']['xaxis']['rangeslider']超过滚动条的功能添加范围滑块:

阴谋:

在此处输入图像描述

代码:

这是一个在离线 Jupyter Notebook 中使用一些随机数据的示例。

# imports
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
from IPython.core.display import display, HTML
import plotly.figure_factory as ff
import plotly.graph_objs as go
import pandas as pd
import numpy as np

# setup
display(HTML("<style>.container { width:35% !important; } .widget-select > select {background-color: gainsboro;}</style>"))
init_notebook_mode(connected=True)
np.random.seed(1)

# random time series sample
df = pd.Series(np.random.randn(1000),index=pd.date_range('1/1/2000', periods=1000)).cumsum().to_frame()+100
df.columns = ['Series1']

# trace / line
trace1 = go.Scatter(
    x=df.index,
    y=df['Series1'],
    name = "AAPL High",
    line = dict(color = 'blue'),
    opacity = 0.4)

# plot layout
layout = dict(
    title='Slider / Scrollbar',
    xaxis=dict(
        rangeselector=dict(
            buttons=list([
                dict(count=1,
                     label='1m',
                     step='month',
                     stepmode='backward'),
                dict(count=6,
                     label='6m',
                     step='month',
                     stepmode='backward'),
                dict(step='all')
            ])
        ),
        rangeslider=dict(
            visible = True
        ),
        type='date'
    )
)

# plot figure
data = [trace1]
fig = dict(data=data, layout=layout)
iplot(fig)

有关更多详细信息,请查看此处

于 2019-05-13T12:39:32.517 回答