还有一个类似的问题,但它只问一个正常的数字.各自的答案不适用于次要情节:

https://stackoverflow.com/a/55239488/2215205
https://stackoverflow.com/a/71579181/2215205

  1. px.imshow(df, aspect='equal')fig.add_trace()一起被完全忽略.
  2. 在这方面操作地物布局仅适用于第一个子图,而不是所有子图:
import pandas as pd
import plotly.express as px
import plotly.graph_objects as go

## Example data
df = pd.DataFrame([[0,0,0,0,0],
                   [0,0,1,0,0],
                   [0,1,2,1,0],
                   [0,0,1,0,0],
                   [0,0,0,0,0],
                  ])

## Subplots w/ go.Heatmap()
layout = dict(
    # yaxis=...,
    # xaxis=...,
    # width=plot_width,
    # height=plot_height,
    # autosize=False,
    yaxis_scaleanchor="x" ,  # <---- only works in 1st subplot :(
    )

fig = go.Figure(layout=layout).set_subplots(rows=1, cols=2, subplot_titles=['#1', '#2'])

fig.add_trace(
    go.Heatmap(
        z = df,
        coloraxis = "coloraxis",  # use a common coloraxis for all subplots
    ), 
    1,1)
fig.add_trace(
    go.Heatmap(
        z = df*2,
        coloraxis = "coloraxis",  # use a common coloraxis for all subplots
    ),
    1,2)

## Update y-axes
fig.update_yaxes(
    title_text="yaxis #1", 
    row=1, col=1, 
    scaleanchor='x',  # <---- only works in 1st subplot :(  ==> works in Colab !!
    ) 
fig.update_yaxes(
    title_text="yaxis #2",
    row=1, col=2,
    scaleanchor='x',  # <---- only works in 1st subplot :( ==> works in Colab !!
    )

## Update layout
# fig['layout']['yaxis']['scaleanchor']='x' # <--- updates only first subplot :(

fig.update_layout(
    title='2D Heatmaps',
    autosize=False,
    # yaxis_scaleanchor="x",  # <--- updates only first subplot :(
    yaxis = dict(scaleanchor = 'x'),   # <--- updates only first subplot :(
    # coloraxis_colorscale='Viridis',
    )

# fig.show()

我们对任何帮助都深表感谢.

在我的努力下,请在这里找到一本Jupyter-Notebook: https://colab.research.google.com/drive/13NKNmgAXudXp62UlmXKDhVFgpFe1YeQN?usp=sharing

推荐答案

请注意,默认情况下,每个子图都有自己的x轴/ y轴,除非在调用set_subplots()make_subplots()时通过设置shared_xaxesshared_yaxes另行指定.

第二个x轴的定义xaxis2被添加到布局中,并且可以用字符串'x2'引用,与第二个y轴相同:'y2'表示也在布局中定义的yaxis2(依此类推).

fig.update_layout(
    title='2D Heatmaps',
    autosize=False,
    yaxis_scaleanchor="x",      # <- updates 1st subplot :)
    yaxis2_scaleanchor="x2"     # <- updates 2nd subplot :)
)

Python相关问答推荐

只需使用Python在图像中保留 colored颜色 范围区域

如何计算部分聚合数据的统计数据

使用Python OpenCV的文本检测分割

给定数据点,制定它们的关系

Tkinter滑动条标签.我不确定如何删除滑动块标签或更改其文本

有条件地采样我的大型DF的最有效方法

GL pygame无法让缓冲区与vertextPointer和colorPointer一起可靠地工作

Polars LazyFrame在收集后未返回指定的模式顺序

将特定列信息移动到当前行下的新行

try 在树叶 map 上应用覆盖磁贴

如何删除索引过go 的lexsort深度可能会影响性能?' &>

如何使用数组的最小条目拆分数组

如何从pandas的rame类继承并使用filepath实例化

如何使用Python以编程方式判断和检索Angular网站的动态内容?

我想一列Panadas的Rashrame,这是一个URL,我保存为CSV,可以直接点击

当递归函数的返回值未绑定到变量时,非局部变量不更新:

从嵌套的yaml创建一个嵌套字符串,后面跟着点

如何在BeautifulSoup/CSS Select 器中处理regex?

在Python中使用yaml渲染(多行字符串)

如何根据rame中的列值分别分组值