我需要在我的图中描绘一个“破碎的轴”,因为一些值是巨大的。举个例子,考虑一下:
import plotly.graph_objects as go
import numpy as np
y=np.arange(20)
y[0]=1000
go.Figure(go.Bar(
y=y
))
This question对matplotlib也进行了同样的讨论,但我需要使用plotly。
下面是我想要创建的一个示例。
发布于 2021-03-10 22:51:18
解决此问题的一种方法是具有两个子帧,如下所示:
import plotly.graph_objects as go
import plotly.express as px
import numpy as np
y=np.arange(20)
y[0]=1000
color = px.colors.sequential.Plasma[0]
cut_interval = [30, 700]
bar = go.Bar(
y=y, name='foo',
marker_color=color,
)
fig = make_subplots(
rows=2, cols=1,
vertical_spacing = 0.05,
shared_xaxes=True,
)
fig.append_trace(bar, row=1, col=1)
bar.showlegend=False
fig.append_trace(bar, row=2, col=1)
fig.update_yaxes(range=[cut_interval[1], max(df.max()*1.1)], row=1, col=1)
fig.update_xaxes(visible=False, row=1, col=1)
fig.update_yaxes(range=[0, cut_interval[0]], row=2, col=1)
这将导致:
这两个子帧在x轴上连接,因此可以平移它们。
https://stackoverflow.com/questions/61541593
复制