自定义yaxis

时间:2019-03-27 08:59:22

标签: plotly plotly-dash

是否可能使轴“断裂”或间隔不均匀?例如,假设我将数据分组为y = [0,100]和一些离群值,例如500、1000等
 显示0-1000将隐藏详细信息。
我可以显示y = 0-100,然后y = 800-1000的数据,并让轴刻度等中断吗?
我尝试枚举tickvals和ticktext,但似乎不起作用。

1 个答案:

答案 0 :(得分:0)

您可以使用子图创建所需的东西,但这是一个非常丑陋的解决方案。

代码:

# import all the necessaries libraries
import plotly.offline as pyo
import plotly.graph_objs as go
from plotly import tools

# specify traces
trace1 = go.Bar(
    x=[1, 2, 3],
    y=[500, 1100, 1500],
    xaxis='x1',
    yaxis='y1')
trace2 = go.Bar(
    x=[1, 2, 3],
    y=[500, 1100, 1500],
    xaxis='x2',
    yaxis='y2')
trace3 = go.Bar(
    x=[1, 2, 3],
    y=[500, 1100, 1500],
    xaxis='x3',
    yaxis='y3')

# create data (list with traces)
data = [trace1, trace2, trace3]

# Specify layout
layout = go.Layout(
    height=600, width=600,
    # Select each yaxis and manually set domain (where on screen it will place)
    yaxis1=dict(range=[400, 600], domain=[0, 0.25]),
    yaxis2=dict(range=[1000, 1200], domain=[0.35, 0.60]),
    yaxis3=dict(range=[1400, 1600], domain=[0.70, 0.95])
    )

# Create figure
fig = go.Figure(data=data, layout=layout)

# Plot the plot
pyo.plot(fig, filename='try-axis-plot.html')

输出:

You see that?

在谷歌搜索后,我决定禁止plotly中的“断开”轴,如here

所述