【问题标题】:Plotly: How to handle overlapping colorbar and legends?Plotly:如何处理重叠的颜色条和图例?
【发布时间】:2020-05-15 19:45:51
【问题描述】:

我有一个简单的图表,我正在使用 Plotly Express 库来绘制它。图片如下,其中有两个图例重叠“Rank”和“Genre”。

px.scatter_ternary(data_frame = data, a='Length.', b='Beats.Per.Minute', c='Popularity',
               color = 'Rank',
               symbol = 'Genre',
               labels = {'Length.': 'Len', 'Beats.Per.Minute':'Beats'},
               color_continuous_midpoint = 15,
               symbol_sequence = ['circle-open-dot', 'cross-open','triangle-ne'])

如何避免重叠?

【问题讨论】:

  • 这不是关于为图例腾出空间的问题,而是处理您的三元图基于一个变量生成图例和基于另一个变量的颜色条的事实,并且它们被放置在相同的x, y 坐标。我更改了标题以反映这一点。如果您不同意,请随时再次更改。
  • 谢谢,@vestland。这是一个有效的改进。

标签: python plot plotly


【解决方案1】:

简答:

您可以使用以下方法移动颜色条:

fig.update_layout(coloraxis_colorbar=dict(yanchor="top", y=1, x=0,
                                          ticks="outside"))

详情:

由于您尚未提供带有数据样本的完全可执行代码 sn-p,因此我将不得不基于 a dataset and an example 提出建议,该建议至少能够重现类似问题。看看:

这似乎与您面临的问题完全相同。为了使情节可读,我只需像这样使用fig.update_layout(coloraxis_colorbar() 移动颜色条:

完整代码:

# imports
import plotly.express as px

# data
df = px.data.election()

# figure setup
fig = px.scatter_ternary(df, a="Joly", b="Coderre", c="Bergeron", hover_name="district", 
    color="total", size="total", size_max=15, symbol ='Coderre',
    color_discrete_map = {"Joly": "blue", "Bergeron": "green", "Coderre":"red"},
    )

# move colorbar
fig.update_layout(coloraxis_colorbar=dict(yanchor="top", y=1, x=0,
                                          ticks="outside",
                                          ticksuffix=" bills"))
fig.show()

我希望这可以解决您的实际问题。如果没有,请随时告诉我!

【讨论】:

    【解决方案2】:

    就我而言;

    fig = ...
    fig.update_layout(legend_orientation="h")
    

    解决了问题。

    【讨论】:

      【解决方案3】:

      在某些情况下,将颜色条的方向更改为水平方向是有意义的,并且是一种快速修复。

      fig.update_layout(coloraxis_colorbar=dict(orientation="h"))
      

      【讨论】:

        猜你喜欢
        • 2022-07-21
        • 2021-02-25
        • 2020-02-26
        • 2022-11-04
        • 2017-06-07
        • 1970-01-01
        • 2019-01-28
        • 2021-02-22
        • 2021-03-01
        相关资源
        最近更新 更多