【问题标题】:Plotly stacked surfaces sharing same colorbarPlotly 堆叠的表面共享相同的颜色条
【发布时间】:2018-06-17 23:53:32
【问题描述】:

我想绘制共享相同颜色条和色阶的 3 个堆叠表面。 我希望颜色条在 [0.0, 0.1, ..., 0.9, 1.0] 中有 11 个刻度。

出于某种原因,我似乎无法对所有三个图表使用相同的颜色条和比例尺。现在他们都有自己的色阶。 我可以让它只打印一次颜色条,但它们仍然会有不同的比例。

这是我的代码:

def plot_3d(plot_dict, title):
data = []
for i in range(3):
    dataset = plot_dict[kernels[i]]
    data.append(
        go.Surface(
            x=C_2d_range,
            y=gamma_2d_range,
            z=dataset, 
            #showscale=True if i == 0 else False, 
            colorbar=dict(
                nticks=11, 
                tickmode='array',
                tickvals=[0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]
            ),
            colorscale='Viridis'
        )
    )

layout = go.Layout(
    title=title,
    scene = dict(
        xaxis = dict(
            title='C parameter'
        ),

        yaxis = dict(
            title='Gamma parameter'
        ),

        zaxis = dict(
            title='F1 Score'
        )
    )
)

fig = go.Figure(data=data, layout=layout)

ply.iplot(fig, filename=title)  

但它会产生,其中每个情节都清楚地使用自己的比例。为了清楚起见,在这种情况下,我希望底部的表面是深色的,顶部的表面是黄色的。

感谢您的帮助。

【问题讨论】:

    标签: python plot plotly


    【解决方案1】:

    这个问题已经很晚了,但对于未来的读者:

    要实现这一点,您需要将所有表面对象的cmincmax 设置为相同:

    import numpy as np
    
    import plotly.plotly as py
    import plotly.graph_objs as go
    from plotly.offline import plot
    
    z1 = np.random.uniform(0, 1, (10, 10))
    z2 = z1 + 1
    z3 = z1 - 1
    min_value = np.r_[z1,z2,z3].min()
    max_value = np.r_[z1,z2,z3].max()
    
    surf1 = go.Surface(z=z1, cmin=min_value, cmax=max_value)
    surf2 = go.Surface(z=z2, showscale=False, cmin=min_value, cmax=max_value)
    surf3 = go.Surface(z=z3, showscale=False, cmin=min_value, cmax=max_value)
    
    data = [surf1, surf2, surf3]
    
    plot(data,filename='multiple-surfaces')
    

    结果:

    【讨论】:

    • 不幸的是,我没有代码/数据了,所以我无法尝试解决方案,但在您的示例中看起来非常好,所以我会接受它:)
    猜你喜欢
    • 2021-02-25
    • 2022-12-11
    • 2019-05-28
    • 2018-02-19
    • 2016-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多