plotly / plotly/plotly.py

go.Histogram2dContour does not normalize when using shared coloraxis and coloring='fill'

未关闭
#4,465 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

bug P3 sev-2
主要语言
Python
星标
18.8k
派生
2.8k
平均合并
16 小时 26 分钟
30 天内合并 PR
21

描述

Setup:
plotly==5.18.0

Bug:
When adding two go.Histogram2dContour to a subplot, the colorscale is not normalized, when using a shared coloraxis and setting coloring='fill'.
It works when setting coloring='heatmap'.

Dataframes used:

df_a = pd.DataFrame({
    'a':[0,0,1,1],
    'b':[0,1,0,1],
    'c':[0,1,2,3],
    
})

df_b = pd.DataFrame({
    'a':[0,0,1,1],
    'b':[0,1,0,1],
    'c':[10,20,30,40],
    
})

Example coloring='fill':
histogram2dContour_fill

Example coloring='heatmap':
histogram2dContour_heatmap

Code:

fig = make_subplots(rows=1,cols=2)

fig.add_trace(
            go.Histogram2dContour(
                x=df_a['a'].to_list(),
                y=df_a['b'].to_list(),
                z=df_a['c'].to_list(),
                # contours=dict(coloring="heatmap"),
                contours=dict(coloring="fill"),
                coloraxis="coloraxis",
                showscale=True,
                showlegend=False,
                histfunc='max',
            ),
            row=1,
            col=1
        )

fig.add_trace(
            go.Histogram2dContour(
                x=df_b['a'].to_list(),
                y=df_b['b'].to_list(),
                z=df_b['c'].to_list(),
                # contours=dict(coloring="heatmap"),
                contours=dict(coloring="fill"),
                coloraxis="coloraxis",
                showscale=True,
                showlegend=False,
                histfunc='max',
            ),
            row=1,
            col=2
        )

fig.show()

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先运行提供的、使用两个 go.Histogram2dContour trace 的 plotly==5.18.0 复现,并比较 coloring='fill' 与 coloring='heatmap'。跟踪共享 coloraxis 归一化在每种模式下的应用方式;当两个 fill 等高线都在两个子图之间一致地使用共享 colorscale 时,即视为完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
data-visualization
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。