【问题标题】:Adding dynamic shapes to plotly facet charts - Python将动态形状添加到绘图方面图表 - Python
【发布时间】:2021-12-27 21:20:30
【问题描述】:

我需要在 plotly 中制作多面棒棒糖图表,它应该由一个添加了线条形状的散点图组成:

import plotly.express as px

fig = px.scatter(
        x=df['x_variable'],
        y=df['y_variable'],
        facet_col = df['facet_variable'])

for i in range(0,len(df)):
    fig.add_shape(
        type="line",
        x0=df['x_variable'][i],
        y0=0,
        x1=df['x_variable'][i],
        y1=df['y_variable'][i])

问题是所有形状都打印在第一个面上。有没有办法遍历每个方面并添加正确的形状?请注意,上述循环会遍历子图(构面)中的每个观察值,并在 y 轴上的 0 和标记之间绘制一条线。

我知道如何将静态形状(例如矩形)添加到多面图表,但在处理上述动态形状时遇到了困难。任何帮助将不胜感激!

【问题讨论】:

    标签: python charts plotly subplot facet


    【解决方案1】:

    我认为您可以尝试使用 ma​​ke_subplot 而不是 facet_col 创建子图。 请参阅“将子图中的轴与匹配项同步”部分中的示例:Facet and Trellis Plots in Python 和此question

    【讨论】:

    • 谢谢你,我会尝试这个,看看它是否有效。我开始怀疑子图可能是要走的路,但不确定我如何动态填充行和列参数(用于制作子图,然后在循环中),因为有时我可能有 3*1 , 或 2*2 或 3*2 等,具体取决于刻面的大小。
    • 虽然它可能不起作用,因为这些图表是折线图,而不是不同的线形。例如。线条形状有 4 个坐标而不是 2 个。不过,我仍然会看看是否可以使用这种循环方法添加形状
    • 使用子图效果很好,谢谢!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-27
    • 1970-01-01
    • 2016-12-09
    • 1970-01-01
    • 1970-01-01
    • 2016-07-15
    • 1970-01-01
    相关资源
    最近更新 更多