Python 全息视图更改数据阴影颜色贴图

Python 全息视图更改数据阴影颜色贴图,python,colormap,holoviews,datashader,Python,Colormap,Holoviews,Datashader,我正在尝试更改datashader使用的颜色映射 我试过这个: datashade(散布,cmap='Reds') 其中,scatter是一个hv.scatter元素。这不起作用,因为datashader需要一个iterable或一个返回颜色的函数。因此,这项工作: datashade(散布,cmap=['blue']) 那么,我如何将'Reds'颜色映射转换成datashader可以使用的东西呢 谢谢。好的;不能将colormap的字符串名称传递给Datashader的cmap参数,因为Dat

我正在尝试更改datashader使用的颜色映射

我试过这个:

datashade(散布,cmap='Reds')

其中,
scatter
是一个
hv.scatter
元素。这不起作用,因为datashader需要一个iterable或一个返回颜色的函数。因此,这项工作:

datashade(散布,cmap=['blue'])

那么,我如何将
'Reds'
颜色映射转换成datashader可以使用的东西呢


谢谢。

好的;不能将colormap的字符串名称传递给Datashader的
cmap
参数,因为Datashader将单个字符串解释为单个颜色的名称,通过将R、G、B通道设置为该颜色,然后改变alpha通道,从中构造一个colormap。如果需要颜色映射,请将颜色列表(Bokeh用于其调色板)或Matplotlib颜色映射对象(不是字符串名称)传递给
cmap

from matplotlib import cm
datashade(scatter, cmap=cm.Reds)

要从HoloView可用的任何颜色贴图中进行选择,请使用以下代码:

来自holoviews.plotting.util导入过程\u cmap
datashade(scatter,cmap=process_cmap(“Magma”,provider=“bokeh”))
“Magma”
“Bokeh”
更改为(感谢@Chris的链接)



请求:如果
datashade
支持Holoviews绘图的
opts
参数自动传输,这将非常好,正如本期GitHub所要求的那样:。

您也可以使用构建在Holoviews之上的库来创建绘图,使用datashader并更改颜色映射,所有操作都以方便的方式进行:

import numpy as np
import pandas as pd
import hvplot.pandas

df = pd.DataFrame({
    'x': np.random.normal(size=100000),
    'y': np.random.normal(size=100000),
})

# use keyword datashade=True to turn on datashading
# use keyword cmap to change the default colormap
df.hvplot.scatter(
    x='x', 
    y='y', 
    datashade=True, 
    cmap='Magma',
)

可以在此处找到彩色地图:

结果图:

好的,这是有道理的。我知道Seaborn也提供这种颜色贴图,我认为Bokeh也提供同样的颜色贴图。我可以在这里访问颜色贴图的任何方式:对于bokeh,您可以执行以下操作:从bokeh.paletes导入;datashade(scatter,cmap=Magma256)可用的bokeh调色板可在以下位置找到: