【问题标题】:Code for -Python plot-Python 绘图的代码
【发布时间】:2014-08-07 11:57:09
【问题描述】:

我从未使用过 Python,我从手册中看到了一段代码,我很想知道它是什么意思。

这是手册中的代码:

    import h5py
    h5file = h5py.File('Output/ScottCreek250b/simulation.results.DY.hdf5')
    channel_flows = h5file['Channel/Qc_out'][...]
    plt.plot(channel_flows[:, 0])
    plt.ylim((-0.01,0.01))
    plt.title('Streamflow at outlet', fontweight='bold')
    plt.ylabel('Flow ($\mathbf{m^3/s}$)')
    plt.xlabel('Model time-steps (24 hours)')

我想知道这两行是什么意思,尤其是[...][:, 0][:, :10] 代表什么。

    channel_flows = h5file['Channel/Qc_out'][...]
    plt.plot(channel_flows[:, 0])

    soil_stores = h5file['Soil/V_s'][...]
    plt.plot(soil_stores[:, :10])

【问题讨论】:

  • 我可以假设数据结构类似于 R 中的列表目标或 3D 数组吗? [...] 表示 x、y、z 值。
  • 我不知道 R - 请阅读我链接到的文档,其中解释了它是如何工作的。

标签: python python-2.7 matplotlib plot h5py


【解决方案1】:

numpy 文档不会解释为什么按原样使用索引,尤其是 h5file 中的第一个索引:

需要h5file 行上的[...] 来实际复制 数据;如果不是,则传递一个引用,这可能并不总是人们想要的。不过,在这种情况下,这似乎是不必要的,可能只是一种习惯的力量。

之后,您将得到二维数据数组(注意:不是您建议的 3D),其中第一个维度在整个范围内进行索引(通过使用唯一的“:”),第二个内部维度索引为单个值 (0) 或前十个值的范围(:10,其中0:10 中的0 是默认值,可以省略)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多