当前位置: 首页 > 面试题库 >

使用python matplotlib创建甘特图

商畅
2023-03-14
问题内容

matplotlib如何用该数据绘制图形。问题在于可视化从第2列到第3列的距离。最后,它看起来应该像甘特图。

0   0    0.016   19.833
1   0   19.834   52.805
2   0   52.806   84.005
5   0   84.012  107.305
8   0  107.315  128.998
10  0  129.005  138.956
11  0  138.961  145.587
13  0  145.594  163.863
15  0  163.872  192.118
16  0  192.127  193.787
17  0  193.796  197.106
20  0  236.099  246.223
25  1   31.096   56.180
27  1   58.097   64.857
28  1   64.858   66.494
29  1   66.496   89.908
31  1   89.918  111.606
34  1  129.007  137.371
35  1  137.372  145.727
39  1  176.097  209.461
42  1  209.476  226.207
44  1  226.217  259.317
46  1  259.329  282.488
47  1  282.493  298.905

我需要为列1提供2种颜色。对于y轴,选择列0,对于x轴,请选择列2和3。对于每一行,应绘制一条线。第2列是开始时间,第3列是停止时间。


问题答案:

如果我对您的理解正确,则希望在第3列和第4列的x值之间绘制一条水平线,而y值等于在第0列中的水平线。要在给定的y值上绘制一条水平线,在两个x之间值,您可以使用hlines。我认为以下代码是可行的解决方案。

import numpy as np
import matplotlib.pyplot as plt

# Read data from file into variables
y, c, x1, x2 = np.loadtxt('data.txt', unpack=True)

# Map value to color
color_mapper = np.vectorize(lambda x: {0: 'red', 1: 'blue'}.get(x))

# Plot a line for every line of data in your file
plt.hlines(y, x1, x2, colors=color_mapper(c))

结果输出



 类似资料:
  • 我正在尝试创建一个线/面积图,它看起来像一个用python绘制的甘特图。这是因为我没有开始和结束列(px.timeline需要)。相反,我有几个向量,从某个时间点开始,在几个月内减少。为了更好地说明,这是我的数据框架: 如您所见,对于每个时段,我从0开始,直到最后一个可用时段。现在,我的代码是: 如果绘制图形,您将看到x轴是周期数。然而,当我尝试实现日期(即索引)时,只要我有18个句点而不是36个

  • 本文向大家介绍PythonMatplotlib,包括了PythonMatplotlib的使用技巧和注意事项,需要的朋友参考一下 示例 Matplotlib是一个用于Python的数学绘图库,它提供了各种不同的绘图功能。 您可以在此处找到matplotlib文档,并在此处提供SO文档。 Matplotlib提供了两种不同的绘图方法,尽管它们在很大程度上可以互换: 首先,matplotlib提供了py

  • 甘特图用于比较类别之间的数据。此外,它还可用于识别每个过程所花费的时间。 它显示了一段时间内任务值的进展。它在一段时间内广泛用于项目管理和其他类型的变异研究。 除时间维度外,甘特图也采用维度和度量。 例如,使用Sample-Superstore数据源,可以按照每种类型的发运模式进行运输。对于创建,甘特图遵循程序如下: 第1步:转到工作表。 单击“标记(Marks)”窗格中的下拉按钮。 从给定列表中

  • 主要内容:什么是JFreeChart 甘特图,JFreeChart 甘特图的示例什么是JFreeChart 甘特图 甘特图是一种条形图,常用于计划和安排项目任务和事件。 下图显示了 JFreeChart 库中包含的甘特图的一些演示版本: JFreeChart 甘特图的示例 让我们以人口数量作为样本数据。 软件开发阶段 预计日期 实际日期   需求分析 2017-07-03 2017-07-07 2017-07-03 2017-07-05 需求设计 2017-07-10 201

  • 我想创建交互式甘特图(或序列图),用于显示多个处理器上的任务调度。 我找到了这个库,它产生了非常好的交互式甘特图。不幸的是,ploly-Gantt只适用于日期而不是数值,就像我对计划的运行时值所做的那样。 有没有可能用数值绘制甘特图? 代码示例:(我想使用这样的东西)

  • 1. 前言 Markdown 的原生语法不支持绘制图形,但通过扩展模块,我们可以将一些格式化的文字渲染成我们需要的图形。常用的图形有 “流程图”、“时序图”、“类图”、“状态图”、“甘特图”、"饼图" 等。 本节将重点介绍如何通过 Mermaid 绘制「甘特图」。 甘特图 (Gantt chart) 也被称为横道图、条状图(Bar chart)。通常用于展示项目进度,它的核心对象是「时间」,并在时