使用matplotlib绘制免费系列

时间:2018-08-06 18:04:04

标签: python pandas dataframe matplotlib

我有2个Pandas系列,每个系列都有DateTimeIndex的索引和其他索引所不具有的值。

a = 
                     values  
2018-01-20 01:58:15  1000
2018-01-20 01:58:20  1005 
2018-01-20 01:58:25  1010
2018-01-20 01:58:45  1030
2018-01-20 01:58:50  1040


b = 
                     values
2018-01-20 01:58:30  1015 
2018-01-20 01:58:35  1020
2018-01-20 01:58:40  1025

并且我想使用matplotlib在同一张图上绘制每个系列的不同颜色标记。

例如

plt.plot(xs, a.values)
plt.plot(xs, b.values)

(其中xs是组合索引)

做到这一点的最好/最优雅的方法是什么?

2 个答案:

答案 0 :(得分:1)

您可以遍历一系列清单,并绘制每个清单。颜色将自动分配给每个系列。

import matplotlib.pyplot as plt

for data in [a,b]:
    # make sure the index is a datetime index
    data.index = pd.to_datetime(data.index)
    plt.scatter(data.index, data['values'])

# Set your x axis to be limited to your date ranges
plt.xlim(min(np.concatenate([a.index.values, b.index.values])),
         max(np.concatenate([a.index.values, b.index.values])))

# Rotate the x ticklabels
plt.xticks(rotation=90)
plt.tight_layout()

plt.show()

enter image description here

答案 1 :(得分:0)

import matplotlib.pyplot as plt
plt.plot(a.index, a.values, b.index, b.values)