def plot_WC_layers(dayDataPath, logDataPath):
# load day data
colsDefTuple = configHolder.getCSVDayDataColumnTuple()
dailyData = np.genfromtxt(
dayDataPath, delimiter=',', skip_header=HEADER_NUM,
dtype=float, names=colsDefTuple)
WCs = dailyData[['WC1', 'WC2', 'WC3', 'WC4',
'WC5', 'WC6', 'WC7', 'WC8', 'WC9', 'WC10']]
root = dailyData['Z']
data = np.transpose([list(r) for r in WCs])
fig, ax = plt.subplots()
# plot water content in all vertical compartments
cax = ax.imshow(data, interpolation='none', cmap="Spectral", extent=[
0, len(root), -1, 0], aspect="auto")
# plot depth of root
reversedRoot = -1 * root
ax.plot(reversedRoot)
# load log data
algLog = AlgorithmLog()
logHeader = tuple(algLog.getHeader())
logData = np.genfromtxt(
logDataPath, delimiter=',', skip_header=3,
dtype=float, names=logHeader)
# plot sensor0 track
revSensor0TrackList = -1 * \
(np.array(logData['sensor0_depth']) * 10 + 5) * 0.01
ax.plot(revSensor0TrackList, color="red")
# plot sensor1 track
# revSensor1TrackList = -1 * \
# (np.array(logData['sensor1_depth']) * 10 + 5) * 0.01
# ax.plot(revSensor1TrackList, color="green")
# color bar
cbar = fig.colorbar(cax, orientation='horizontal')
ax.set_xlabel('Time(day)')
ax.set_ylabel('Soil Depth(m)')
ax.set_title("sensor0 start at {}cm and ref={}")
pathFigureOut = str(Path(
prefixOutput + r'{}_All_WC_root.png'.format(
basename(dayDataPath).split('.')[0])).resolve())
plt.savefig(pathFigureOut)
plt.clf()
评论列表
文章目录