我想用matplotlib和seaborn创建一个平滑的折线图。
这是我的数据帧df
:
hour direction hourly_avg_count
0 1 20
1 1 22
2 1 21
3 1 21
.. ... ...
24 1 15
0 2 24
1 2 28
... ... ...
折线图应该包含两行,一行表示direction
等于1,另一行表示direction
等于2。X轴是hour
,Y轴是hourly_avg_count
。
我试过了,但看不到台词。
import pandas as pd
import seaborn as sns
import matplotlib
import matplotlib.pyplot as plt
plt.figure(figsize=(12,8))
sns.tsplot(df, time='hour', condition='direction', value='hourly_avg_count')
tsplot
有点奇怪,或者至少有令人窒息的记录。如果向其提供了数据帧,则假定必须存在一个unit
列和一个time
列,因为它在内部围绕这两个列旋转。要使用tsplot
绘制多个时间序列,因此还需要为unit
提供一个参数;这可以与condition
相同。完整示例:
同样值得注意的是tsplot is deprecated从seaborn版本0.8开始。因此,使用其他方法绘制数据可能是值得的。
尝试添加虚拟单元列。第一部分是创建一些合成数据,请忽略。
相关问题 更多 >
编程相关推荐