当前位置: 首页 > 知识库问答 >
问题:

如何获得详细信息。表示时间轴重叠条可见

支彭亮
2023-03-14

我想知道是否有人有重叠时间线栏的解决方案?

import plotly.express as px
import pandas as pd

df = pd.DataFrame([
    dict(Task="Job A", Start='2009-01-01', Finish='2009-02-28', Resource="Alex"),
    dict(Task="Job B", Start='2009-02-25', Finish='2009-04-15', Resource="Alex"),
    dict(Task="Job C", Start='2009-02-23', Finish='2009-05-23', Resource="Max"),
    dict(Task="Job D", Start='2009-02-20', Finish='2009-05-30', Resource="Max")
])

fig = px.timeline(df, x_start="Start", x_end="Finish", y="Resource", color="Resource")
fig.show()

在图像中很难看到:

  • 作业A结束/作业B开始的地方
  • 作业D根本不可见

有什么建议吗?

共有2个答案

阎知
2023-03-14

我能想到的最好办法是对所有的“任务”或“作业”使用不同的颜色,并且必须降低透明度,以便能够看到被覆盖的痕迹/条

代码如下所示:

import plotly.express as px
import pandas as pd

df = pd.DataFrame([
    dict(Task="Job A", Start='2009-01-01', Finish='2009-02-28', Resource="Alex"),
    dict(Task="Job B", Start='2009-02-25', Finish='2009-04-15', Resource="Alex"),
    dict(Task="Job C", Start='2009-02-23', Finish='2009-05-23', Resource="Max"),
    dict(Task="Job D", Start='2009-02-20', Finish='2009-05-30', Resource="Max")
])

fig = px.timeline(df, x_start="Start", x_end="Finish", y="Resource", color="Task", opacity=0.5)

fig.show()
东郭阳德
2023-03-14

我经常发现为某些类别分配不同的宽度有助于使整个内容更易于阅读。因此,在您的情况下,我会在您的df中包含一列,其中指定了这一点,然后使用以下方式编辑图形:

for i, d in enumerate(fig.data):
    d.width = df[df['Task']==d.name]['width']
import plotly.express as px
import pandas as pd

resource = ['Alex', 'Max']
df = pd.DataFrame([
    dict(Task="Job A", Start='2009-01-01', Finish='2009-02-28', Resource="Alex", width = 0.5),
    dict(Task="Job B", Start='2009-02-25', Finish='2009-04-15', Resource="Alex", width = 0.2),
    dict(Task="Job C", Start='2009-02-23', Finish='2009-05-23', Resource="Max", width = 0.5),
    dict(Task="Job D", Start='2009-02-20', Finish='2009-05-30', Resource="Max", width = 0.2)
])

fig = px.timeline(df, x_start="Start", x_end="Finish", y="Resource", color="Task")

for i, d in enumerate(fig.data):
    d.width = df[df['Task']==d.name]['width']
fig.show()
 类似资料:
  • 我正在尝试探索Amadeus API。我的用例是搜索特定时间段的航班。我用以下参数检查航班报价搜索,但出现错误。 请建议我如何通过时间和日期来获取航班详情和价格。 https://test.api.amadeus.com/v2/shopping/flight-offers?originLocationCode=BLR

  • 所以我有一个名为interestingpoint的类,其中包含变量'name'、'coordines'。我创建了一个包含有趣地点的列表,然后在地图上添加标记,如下所示: 所以主要的问题是,当我点击任何标记时,我可以获得它的细节吗?当我点击标记时,我想显示那个地方的描述和图片。

  • 如果该行没有详细信息怎么办?我使用WPF来显示带有行详细信息模板的数据。如果用户没有地址详细信息,我不需要行详细信息。我只需要那些有地址详细信息的用户的行详细信息。

  • 问题内容: 在WooCommerce中,从以下代码行: 如何从订单ID获取WooCommerce订单详细信息? 问题答案: 3.0版以上的WOOCOMMERCE订单 自Woocommerce大型主要更新3.0+以来,事情已经发生了很多变化: 对于 对象,无法像以前一样直接访问属性,并且会引发一些错误。 现在,对象实例需要使用new 以及 getter和setter方法。 此外,还有一些用于订购商品

  • 问题内容: 我要获取exe / dll / sys文件的“文件描述”和“版权”,如右键单击文件并选择属性时,在“详细信息”选项卡中所示。 问题答案: 使用Windows API,您可以调用VerQueryValue以获取该信息。JNA有一个用于访问此API的类,称为Version。 这另一个问题有一些代码示例可以帮助您入门: 获取.exe的版本信息 这是一个读取产品名称的C代码示例,您可以将其转换

  • 从以下行代码输入: 如何从订单id获取WooCommerce订单详细信息?