0

到目前为止,我绘制 aa 图表的代码是这样的:

iplt.plot(pressure_no1, color='black')
plt.xlabel('Time / hour of day')
plt.ylabel('Atmospheric pressure / kPa')
iplt.show()

它是一个 6 小时的立方体(虽然是二维的)数据集,有 420 个数据点。我只需要绘制数据点 hr=0, hr=1 hr=2, hr=3, hr=4, hr=5 并且在一小时之间没有。

可以像以下工作吗?

pressure_no1_hrs = pressure_no1.coord('hour'==int).points
plt.plot(pressure_no1_hrs)

包含所有数据点和时间坐标起点的图形 图像 最后一批时间坐标的图像

4

2 回答 2

0
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd


measures = np.random.normal(size=(360, ))
timepoints = np.arange(start=0, stop=360)


df = pd.DataFrame({'measure': measures, 'timepoint': timepoints})

is_hour = df.loc[:, 'timepoint'] % 60 == 0  # <- Only select full hour

plt.plot(df.loc[is_hour, 'measure'])
plt.xlabel("Time [min]")
plt.ylabel("Atmospheric pressure / kPa")
plt.show()
于 2021-04-01T14:29:28.357 回答
0

对于特定于 Iris 的解决方案,您可以使用PartialDateTime

import iris
import iris.quickplot as qplt
import numpy as np
import matplotlib.pyplot as plt

measures = np.random.normal(size=(360, ))
timepoints = np.arange(start=0, stop=360)

cube = iris.cube.Cube(measures, long_name='atmospheric_pressure', units='kPa')
time_coord = iris.coords.DimCoord(
    timepoints, units='minutes since 2020-07-01 00:00', standard_name='time')
cube.add_dim_coord(time_coord, 0)

subcube = cube.extract(iris.Constraint(time=iris.time.PartialDateTime(minute=0)))

qplt.plot(cube, label='All data')
qplt.plot(subcube, label='Hourly data')

plt.legend()

plt.show()

在此处输入图像描述

于 2021-04-07T15:16:30.533 回答