我有一个pandas数据框,并希望绘制一列中的值与另一列中的值.幸运的是,有plot
一种与数据帧相关的方法似乎可以满足我的需求:
df.plot(x='col_name_1', y='col_name_2')
Run Code Online (Sandbox Code Playgroud)
不幸的是,它看起来像打印样式(上市中这里后kind
参数)有没有点.我可以使用线条或条纹甚至密度但不能使用点数.有没有可以帮助解决这个问题的解决方法.
我正在寻找带有一堆时间轴的python DataFrame并将它们绘制在一个图中.DataFrame索引是Timestamps,并且有一个特定的列,我们称之为"sequence",它包含"A"和"B"之类的字符串.所以DataFrame看起来像这样:
+--------------------------+---+
| 2014-07-01 00:01:00.0000 | A |
+--------------------------+---+
| 2014-07-01 00:02:00.0000 | B |
+--------------------------+---+
| 2014-07-01 00:04:00.0000 | A |
+--------------------------+---+
| 2014-07-01 00:08:00.0000 | A |
+--------------------------+---+
| 2014-07-01 00:08:00.0000 | B |
+--------------------------+---+
| 2014-07-01 00:10:00.0000 | B |
+--------------------------+---+
| 2014-07-01 00:11:00.0000 | B |
+--------------------------+---+
Run Code Online (Sandbox Code Playgroud)
我正在寻找这样的情节:
B | * * **
A | * * *
+------------
Timestamp
Run Code Online (Sandbox Code Playgroud) 我已经尝试了几个小时来完成这项工作.我尝试使用'python-gantt'包,没有运气.我也尝试了一下(这很漂亮,但我无法在他们的网站上托管我的敏感数据,所以这不起作用).
我的出发点是这里的代码: 如何使用Python Pandas绘制堆叠事件持续时间(甘特图)?
三个要求:
代码需要是动态的,以容纳更多的人和更多可能的事件类型......
我愿意接受可视化的建议:我希望显示全年各种人员配置活动的持续时间,以帮助识别模式.
from datetime import datetime
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as dt
df = pd.DataFrame({'Name': ['Joe','Joe','Lisa','Lisa','Lisa','Alice'],
'Event': ['Hire','Term','Hire','Transfer','Term','Term'],
'Start_Date': ["2014-01-01","2014-02-01","2015-01-01","2015-02-01","2015-03-01","2016-01-01"],
'End_Date': ["2014-01-31","2014-03-15","2015-01-31","2015-02-28","2015-05-01","2016-09-01"]
})
df = df[['Name','Event','Start_Date','End_Date']]
df.Start_Date = pd.to_datetime(df.Start_Date).astype(datetime)
df.End_Date = pd.to_datetime(df.End_Date).astype(datetime)
fig = plt.figure()
ax = fig.add_subplot(111)
ax = ax.xaxis_date()
ax = plt.hlines(df.index, dt.date2num(df.Start_Date), dt.date2num(df.End_Date))
Run Code Online (Sandbox Code Playgroud) 如何使用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 …
Run Code Online (Sandbox Code Playgroud) 我有一个数据框:
x <- data.frame(id=letters[1:3],val0=1:3,val1=4:6,val2=7:9)
id val0 val1 val2
1 a 1 4 7
2 b 2 5 8
3 c 3 6 9
Run Code Online (Sandbox Code Playgroud)
我想绘制一个堆积条形图,显示每列的百分比.因此,每个条形代表一行,并且每个条形具有长度但具有三种不同颜色,每种颜色代表val0,val1和val2的百分比.
我试着寻找它,我只能获得绘制堆积图但不是堆积比例图的方法.
谢谢.