【问题标题】:holoviews/geoviews Image range as logarithmicholoviews/geoviews 图像范围为对数
【发布时间】:2017-11-04 09:11:23
【问题描述】:

我有以下行:

(dataset.redim(WD_spec001=dict(range=(0, 30000))).to(gv.Image, ['longitude', 'latitude'], ['time']) * gf.coastline())

但实际上,范围和色标应该是对数的。在 matplotlib 中,我通过使用以下代码生成“clevs”数组来完成:

def _log_clevs(dat_min, dat_max):
    """
    create logorithmic color scale

    """

    if dat_max > 0:
        dmx = int(np.round(np.log10(dat_max))) + 1
    else:
        # dat_max not positive
        dmx = 1

    if dat_min > 0:
        dmn = int(np.round(np.log10(dat_min)))
    elif dat_min == 0. or np.isnan(dat_min):
        # hack
        dmn = dmx - 3


    # create equally spaced range
    if dmx == dmn:
        dmx = dmn + 1
    clevs = np.logspace(dmn, dmx, 100)

    return clevs

有没有办法通过 holoviews/geoviews 来实现这一点?

【问题讨论】:

    标签: python holoviews geoviews


    【解决方案1】:

    HoloViews 和 GeoViews 中的图像元素有一个名为 logz 的绘图选项,它可以让您指定对数颜色图。在笔记本中试试这个:

    %%opts Image [logz=True]
    (dataset.redim(WD_spec001=dict(range=(0, 30000))).to(gv.Image, 
     ['longitude', 'latitude'], ['time']) * gf.coastline())
    

    【讨论】:

      猜你喜欢
      • 2020-09-05
      • 1970-01-01
      • 2020-09-29
      • 2019-07-23
      • 1970-01-01
      • 2021-04-13
      • 2022-07-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多