Plotly:如何处理重叠的颜色条和图例?

Sha*_*h K 10 python plot plotly

我有一个简单的图表,我正在使用 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'])
Run Code Online (Sandbox Code Playgroud)

可以采取什么措施来避免重叠?

ves*_*and 13

简短回答:

您可以通过以下方式移动颜色条:

fig.update_layout(coloraxis_colorbar=dict(yanchor="top", y=1, x=0,
                                          ticks="outside"))
Run Code Online (Sandbox Code Playgroud)

细节:

由于您尚未提供带有数据示例的完全可执行的代码片段,因此我将不得不基于数据集和至少能够重现类似问题的示例提出建议。看一看:

在此输入图像描述

这似乎与您面临的问题完全相同。为了使绘图可读,我只需使用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()
Run Code Online (Sandbox Code Playgroud)

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


bit*_*ang 6

就我而言;

fig = ...
fig.update_layout(legend_orientation="h")
Run Code Online (Sandbox Code Playgroud)

解决了问题。