Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用matplotlib的时间线栏&;多集合-Python_Python_Matplotlib_Visualization_Timeline - Fatal编程技术网

使用matplotlib的时间线栏&;多集合-Python

使用matplotlib的时间线栏&;多集合-Python,python,matplotlib,visualization,timeline,Python,Matplotlib,Visualization,Timeline,我一直在试图复制贝因杰内斯特回答这个问题的重要性 而且似乎无法获得正确的输出图形 (但使用我的数据等) 我正在努力找出问题所在。 任何帮助都将不胜感激! 多谢各位 代码如下: 将日期时间导入为dt 将matplotlib.pyplot作为plt导入 将matplotlib.dates导入为mdates 从matplotlib.collections导入PolyCollection 数据=[(数据日期时间(1900,1,1,14,19,26),数据日期时间(1900,1,1,14,19,29),

我一直在试图复制贝因杰内斯特回答这个问题的重要性 而且似乎无法获得正确的输出图形

(但使用我的数据等)

我正在努力找出问题所在。 任何帮助都将不胜感激! 多谢各位

代码如下:

将日期时间导入为dt
将matplotlib.pyplot作为plt导入
将matplotlib.dates导入为mdates
从matplotlib.collections导入PolyCollection
数据=[(数据日期时间(1900,1,1,14,19,26),数据日期时间(1900,1,1,14,19,29),“索引”),
(dt.datetime(1900,1,1,14,19,29),dt.datetime(1900,1,1,14,19,31),“链接”),
(dt.datetime(1900,1,1,14,19,31),dt.datetime(1900,1,1,14,19,33),“指南”),
(dt.datetime(1900,1,1,14,19,33),dt.datetime(1900,1,1,14,19,35),“价格”),
(dt.datetime(1900,1,1,14,19,35),dt.datetime(1900,1,1,16,39,47),“索引”),
(dt.datetime(1900,1,1,16,39,47),dt.datetime(1900,1,1,16,39,48),“价格”)]
cats={'index':1,'links':2,'guides':3,'prices':4}
colormapping={'index':'C0','links':'C1','guides':'C2','prices':'C3'}
顶点=[]
颜色=[]
对于数据中的d:
v=[(日期为第2个num(d[0]),猫[d[2]]-.4],
(日期2 num(d[0]),猫[d[2]+.4),
(日期为第2天(d[1]),猫[d[2]+.4),
(日期为第2天(d[1]),猫[d[2]-.4),
(日期2 num(d[0]),猫[d[2]-.4]
垂直附加(v)
colors.append(colormapping[d[2]])
条形=多边形集合(顶点、面颜色=颜色)
图,ax=plt.子批次()
ax.添加_集合(条)
ax.自动缩放()
loc=mdates.MinuteLocator(byminute=[0,30])
ax.xaxis.set\u major\u定位器(loc)
ax.xaxis.set\u major\u格式化程序(mdates.AutoDateFormatter(loc))
ax.set_yticks([1,2,3,4])
ax.set_yticklabels(['index','links','guides','prices']))
plt.show()

您的时差非常短。它们是几秒钟,而你的x范围是几小时。所以,这些条基本上是看不见的

请注意,在matplotlib中,通常绘制区域时不使用抗锯齿,这在组合多个半透明区域时非常有用。但是,绘制的线条具有一定的厚度(在屏幕空间中)和抗锯齿。因此,设置显式edgecolor有助于可视化这些“条”


当然!谢谢你的帮助-这已经解决了我的问题!希望您今天过得愉快,先生:)
bars = PolyCollection(verts, facecolors=colors, edgecolors=colors)