【发布时间】:2015-03-01 01:42:22
【问题描述】:
我是 Python 新手,需要一些关于如何以下列格式绘制数据的帮助(请看图片)
我会有这样的文件格式:
# of IDs \t start_time \t end_time
428 1404238888 1404314624
132 1404259731 1404346488
77 1404347808 1404437873
63 1404432707 1404520913
281 1404518967 1404605334
.......
根据评论中的建议,我找到了一种通过按开始和结束时间对 ID 进行聚类来减少数据的方法。我的新文件将具有上述格式,其中第一列说明该时间范围内(从开始到结束)有多少个 ID。 所以我想这种情况下更好的图形表示是做条形图。
我的 y 轴是 ID 数,x 轴是时间,单位为天(我的总测量时间约为 3 个月)
我想展示的是在什么时间范围内聚集的 ID 数量最多。 我想要实现的是如下图所示,在我的文件中的每一行,我将绘制一个条形图。
我希望上面的图片能很好地解释我想要实现的目标。让我知道如何开始图表并以我想要的单位设置 y 轴和 x 轴会很棒。抱歉,这是我第一次尝试用 Python 绘制图形。我为我的项目编写了其他代码,并且一直在编写代码来绘制我的最终结果。
提前感谢您的帮助
【问题讨论】:
-
一小部分输入数字、你的代码、你到底在哪里卡住了等等。所有这些都是对这个问题的一个受欢迎的补充。我怀疑人们会为您编写程序。现在看起来,您所要做的就是解析文件中的值,并在
for循环中解析plt.plot((start, end), (id, id)。 -
您希望能够有意义地查看包含大约 1 亿条水平线的图表?也许您应该在绘制数据之前考虑减少数据!
-
@ljetibo 我用示例数据编辑了问题。很抱歉没有包含任何代码,因为我还没有用于绘图的代码。我不要求别人为我编写程序。这将极大地帮助我指出正确的方向,我可以开始
-
@HughBothwell 感谢您的建议。我找到了一种减少数据大小的方法(请参阅已编辑的问题)。
-
我之前也遇到过类似的问题,我最终使用
vline和hline来完成这项工作。但是,那时我只有几个数据点需要担心。你有多少数据点?
标签: python matplotlib plot