灰尘470 2024-05-09 17:20 采纳率: 0%
浏览 33

使用plotly绘制甘特图遇到的问题

使用plotly的timeline生成甘特图时,经常会出现这种情况,就是某一个资源的矩形的高度会很大,求问各位兄弟怎么解决?还有就是右边的资源色块可以按顺序排列吗?

img

  • 写回答

4条回答 默认 最新

  • 笑面虎 2024-05-09 17:20
    关注

    以下内容由CHATGPT及笑面虎共同生成、有用望采纳:


    【问题概括】:您遇到的问题是在使用 Plotly 的 timeline 功能生成甘特图时,发现某个资源的矩形高度异常地大,并且您希望右侧的资源色块可以按照一定的顺序排列。

    【图片内容】:您上传的图片是一张甘特图的示例,其中展示了不同资源的任务进度和时间线。图片中可能存在某个资源的矩形高度不符合预期,以及资源色块的排列顺序问题。

    【问题出现原因】:这个问题可能是由于 Plotly 在生成甘特图时,对于数据的处理或者可视化配置不当导致的。具体来说,可能是数据输入的格式不正确,或者在设置甘特图的属性时,没有正确地调整矩形的高度和色块的排列顺序。

    【问题解决方案】:为了解决这个问题,您需要调整 Plotly 甘特图的配置。以下是一些可能的解决方案:

    1. 确保数据格式正确,特别是与时间相关的数据。
    2. 使用 row 参数来控制资源色块的排列顺序。
    3. 使用 task甘特图height 参数来控制每个任务矩形的高度。

    【提供代码】:以下是一个简化的 Plotly 甘特图的示例代码,您可以根据自己的数据进行调整:

    import plotly.graph_objects as go
    
    # 示例数据
    tasks = [
        {"Task ID": 1, "Task Name": "Task 1", "Start": "2024-05-10", "Finish": "2024-05-12", "Resource": "Resource A"},
        # ... 添加更多任务数据
    ]
    
    # 创建甘特图
    fig = go.Figure()
    
    for task in tasks:
        fig.add_shape(
            type="rect",
            x0=task["Start"],
            y0=task["Resource"],
            x1=task["Finish"],
            y1=task["Resource"] + 0.1,  # 调整高度
            fillcolor="Blue"
            # 其他样式设置
        )
    
    fig.update_layout(
        title_text="甘特图示例",
        xaxis_title_text="日期",
        yaxis_title_text="资源",
        yaxis=dict(
            ticktext=["Resource A", "Resource B", "Resource C"],  # 设置资源名称
            tickvals=[1, 2, 3]  # 设置资源对应的位置
        )
    )
    
    # 显示图表
    fig.show()
    

    【代码运行方式】:为了运行上述代码,您需要有 Python 环境,并且安装了 Plotly 库。您可以使用 Jupyter Notebook 或者任何支持 Python 的 IDE 来运行这段代码。

    【代码预期运行结果】:代码运行后,应该会生成一个甘特图,其中资源的矩形高度会根据您的设置进行调整,资源色块会按照您指定的顺序排列。

    【推荐相关链接】:

    请注意,上述代码只是一个示例,您需要根据自己的具体数据和需求进行调整。如果您需要更详细的帮助,可以提供更多的代码或者数据信息。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月9日