<i id='Xy8YT'><tr id='Xy8YT'><dt id='Xy8YT'><q id='Xy8YT'><span id='Xy8YT'><b id='Xy8YT'><form id='Xy8YT'><ins id='Xy8YT'></ins><ul id='Xy8YT'></ul><sub id='Xy8YT'></sub></form><legend id='Xy8YT'></legend><bdo id='Xy8YT'><pre id='Xy8YT'><center id='Xy8YT'></center></pre></bdo></b><th id='Xy8YT'></th></span></q></dt></tr></i><div id='Xy8YT'><tfoot id='Xy8YT'></tfoot><dl id='Xy8YT'><fieldset id='Xy8YT'></fieldset></dl></div>
    1. <tfoot id='Xy8YT'></tfoot>

      <small id='Xy8YT'></small><noframes id='Xy8YT'>

        • <bdo id='Xy8YT'></bdo><ul id='Xy8YT'></ul>

      1. <legend id='Xy8YT'><style id='Xy8YT'><dir id='Xy8YT'><q id='Xy8YT'></q></dir></style></legend>

        带整数X轴的甘特图的快速绘图时间线?

        Plotly Express timeline for Gantt Chart with integer xaxis?(带整数X轴的甘特图的快速绘图时间线?)
            <bdo id='NMk24'></bdo><ul id='NMk24'></ul>
          • <tfoot id='NMk24'></tfoot>

              <i id='NMk24'><tr id='NMk24'><dt id='NMk24'><q id='NMk24'><span id='NMk24'><b id='NMk24'><form id='NMk24'><ins id='NMk24'></ins><ul id='NMk24'></ul><sub id='NMk24'></sub></form><legend id='NMk24'></legend><bdo id='NMk24'><pre id='NMk24'><center id='NMk24'></center></pre></bdo></b><th id='NMk24'></th></span></q></dt></tr></i><div id='NMk24'><tfoot id='NMk24'></tfoot><dl id='NMk24'><fieldset id='NMk24'></fieldset></dl></div>

                  <tbody id='NMk24'></tbody>
              1. <small id='NMk24'></small><noframes id='NMk24'>

              2. <legend id='NMk24'><style id='NMk24'><dir id='NMk24'><q id='NMk24'></q></dir></style></legend>
                • 本文介绍了带整数X轴的甘特图的快速绘图时间线?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在使用Plot Express时间线按照以下示例生成甘特图:https://medium.com/dev-genius/gantt-charts-in-python-with-plotly-e7213f932f1e

                  它会自动将x轴设置为使用日期,但我实际上只想使用整数(即项目启动+1、项目启动+6等)。

                  有没有办法不使用X轴的日期来绘制时间线图?

                  如果我尝试使用整数,它会将它们视为毫秒。

                  推荐答案

                  答案:

                  是的,有可能!只需提供整数作为开始日期和结束日期,计算它们之间的差异(delta),然后对fig进行以下更改:

                  fig.layout.xaxis.type = 'linear'
                  fig.data[0].x = df.delta.tolist()
                  

                  绘图

                  详情:

                  实际上有一种方法可以实现这一点,尽管docs声明:

                  默认情况下,px.timeline函数将X轴设置为 type=date,因此可以像任何时间序列图一样进行配置。

                  ,因此px.timeline()中的所有其他功能似乎都围绕着这一事实。但是,如果您只是忽略这一点,并使用整数作为StartFinish的值,那么您可以调整一些属性来获得您想要的结果。您只需要计算一下每个StartStop之间的差异。例如:

                  df = pd.DataFrame([
                      dict(Task="Job A", Start=1, Finish=4),
                      dict(Task="Job B", Start=2, Finish=6),
                      dict(Task="Job C", Start=3, Finish=10)
                  ])
                  df['delta'] = df['Finish'] - df['Start']
                  

                  然后进一步调整:

                  fig.layout.xaxis.type = 'linear'
                  fig.data[0].x = df.delta.tolist()
                  

                  完整代码:

                  import plotly.express as px
                  import pandas as pd
                  
                  df = pd.DataFrame([
                      dict(Task="Job A", Start=1, Finish=4),
                      dict(Task="Job B", Start=2, Finish=6),
                      dict(Task="Job C", Start=3, Finish=10)
                  ])
                  df['delta'] = df['Finish'] - df['Start']
                  
                  fig = px.timeline(df, x_start="Start", x_end="Finish", y="Task")
                  fig.update_yaxes(autorange="reversed") 
                  
                  fig.layout.xaxis.type = 'linear'
                  fig.data[0].x = df.delta.tolist()
                  f = fig.full_figure_for_development(warn=False)
                  fig.show()
                  

                  这篇关于带整数X轴的甘特图的快速绘图时间线?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  GUI Freezes while downloading PyQt5 and Pytube(GUI在下载PyQt5和Pytube时冻结)
                  How to solve memory issues while multiprocessing using Pool.map()?(如何解决使用Pool.map()进行多处理时的内存问题?)
                  Python - How to use FastAPI and uvicorn.run without blocking the thread?(Python-如何使用FastAPI和uvicorn.run而不阻塞线程?)
                  How to increment a shared counter from multiple processes?(如何从多个进程递增共享计数器?)
                  Using pika, how to connect to rabbitmq running in docker, started with docker-compose with external network?(使用pika,如何连接运行在docker中的rabbitmq,从docker开始-与外部网络连接?)
                  How to use .rolling() on each row of a Pandas dataframe?(如何对 pandas 数据帧的每一行使用.roll()?)
                  • <legend id='WqYRt'><style id='WqYRt'><dir id='WqYRt'><q id='WqYRt'></q></dir></style></legend>

                    <small id='WqYRt'></small><noframes id='WqYRt'>

                      • <bdo id='WqYRt'></bdo><ul id='WqYRt'></ul>
                        <i id='WqYRt'><tr id='WqYRt'><dt id='WqYRt'><q id='WqYRt'><span id='WqYRt'><b id='WqYRt'><form id='WqYRt'><ins id='WqYRt'></ins><ul id='WqYRt'></ul><sub id='WqYRt'></sub></form><legend id='WqYRt'></legend><bdo id='WqYRt'><pre id='WqYRt'><center id='WqYRt'></center></pre></bdo></b><th id='WqYRt'></th></span></q></dt></tr></i><div id='WqYRt'><tfoot id='WqYRt'></tfoot><dl id='WqYRt'><fieldset id='WqYRt'></fieldset></dl></div>

                      • <tfoot id='WqYRt'></tfoot>
                            <tbody id='WqYRt'></tbody>