【发布时间】:2015-07-25 11:52:02
【问题描述】:
我有这个图,但我需要将 y 轴固定为 00:00、01:00、02:00 等,一直到 12:00。到目前为止,它只在 y 轴上绘制我在 csv 中的值。 csv 采用以下格式。如何使 y 轴保持恒定,并且仅以 1 小时的增量显示 00:00 到 12:00,并且仍然可以正确绘制数据?
ML INT 0.1 534.15 0:00
ML EXT 0.25 654.23 3:00
ML INT 0.35 743.12 6:30
以下是我目前的代码。
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
data = pd.read_csv('data.csv', header=None)
ints = data[data[1]=='INT']
exts = data[data[1]=='EXT']
INT_index = data[data[1]=='INT'].index
EXT_index = data[data[1]=='EXT'].index
time = [t for t in data[4]]
int_dist = [d for d in ints[3]]
ext_dist = [d for d in exts[3]]
fig, ax = plt.subplots()
ax.scatter(int_dist, INT_index, c='orange', s=150)
ax.scatter(ext_dist, EXT_index, c='black', s=150)
ax.set_yticks(np.arange(len(data[4])))
ax.set_yticklabels(time)
plt.legend(['INT', 'EXT'], loc=4)
plt.xlabel('Distance')
plt.ylabel('Time')
plt.show()
【问题讨论】:
-
你试过
ax.set_ylim吗? -
我想我终于解决了你的问题...
标签: python time matplotlib scatter