【问题标题】:How to share the same Z axis on 2 plotly Heatmap subplots如何在 2 个 plotly 热图子图上共享相同的 Z 轴
【发布时间】:2018-07-27 09:39:48
【问题描述】:

我想为 2 个热图子图设置相同的 Z 轴。 目前,plotly 会生成 2 个独立的比例并将它们叠加。

这是我目前所在的位置,但无法合并两个音阶...

import plotly.offline as py
import plotly.graph_objs as go
from plotly import tools

fig = tools.make_subplots(rows=1, cols=2, shared_yaxes=True)
# shared_zaxes=True does not exists
data = [
        {'x' : [1, 2, 3],
         'y' : [1, 2, 3],
         'z' : [[2,5,6],[8,7,3],[1,7,3]]
         },
        {'x' : [1, 2, 3],
         'y' : [1, 2, 3],
         'z' : [[1,2,3],[2,3,1],[1,2,3]]
        }
        ]
maxValue = 0

for i in [0,1]:
    print(i)
    trace = go.Heatmap(z=data[i]['z'],
                       x=data[i]['x'],
                       y=data[i]['y'],
                       colorscale='Jet')
    fig.append_trace(dict(trace, showscale=True), 1, i+1) 

    maxValue = max(max(data[i]['z'])) if max(max(data[i]['z'])) > maxValue else maxValue

fig['layout'].update(title='Same Zaxis')
fig['layout']['scene']['zaxis'].update(range=[0,maxValue])

py.plot(fig , filename='sameZaxis-heatmap')

【问题讨论】:

  • 你找到解决办法了吗?

标签: python plotly heatmap


【解决方案1】:

我最终在循环之前简单地计算了比例的最大值,然后将其应用于两个图表。然后,两个音阶叠加了,但你看不到。

#Define the max value of you scale before looping:
maxValue = ...

for i in [0,1]:
    trace = go.Heatmap(...
                       zmin=0,
                       zmax=maxValue))

【讨论】:

    猜你喜欢
    • 2017-06-09
    • 2020-06-30
    • 2018-07-13
    • 2022-11-21
    • 1970-01-01
    • 1970-01-01
    • 2021-03-11
    • 1970-01-01
    • 2019-05-31
    相关资源
    最近更新 更多