Holoviews 更改数据着色器颜色图
Holoviews change datashader colormap
我正在尝试更改数据着色器使用的颜色图。
我试过这个:
datashade(scatter, cmap='Reds')
其中 scatter
是一个 hv.Scatter
元素。这不起作用,因为数据着色器需要一个可迭代的或 returns 颜色的函数。因此,这有效:
datashade(scatter, cmap=['blue'])
那么我如何获取 'Reds'
颜色图并将其转换为数据着色器可以使用的东西?
谢谢。
对;您不能将颜色映射的字符串名称传递给 Datashader 的 cmap
参数,因为 Datashader 将单个字符串解释为单一颜色的名称,通过将 R、G、B 通道设置为颜色,然后改变 alpha 通道。如果您想要一个颜色图,请将颜色列表(Bokeh 用于其调色板)或 Matplotlib 颜色图对象(不是字符串名称)传递给 cmap
:
from matplotlib import cm
datashade(scatter, cmap=cm.Reds)
要从 Holoviews 可用的任何颜色图中进行选择,请使用以下代码:
from holoviews.plotting.util import process_cmap
datashade(scatter, cmap=process_cmap("Magma", provider="bokeh"))
将 "Magma"
和 "Bokeh"
更改为 any of the supported colormaps(感谢@Chris 提供 link)。
请求:如果 opts
提供给 Holoviews 图的参数在 datashade
支持的情况下自动传输,那就太好了,正如这个 GitHub 问题所要求的:https://github.com/holoviz/holoviews/issues/4125 .
您还可以使用 hvplot 库 建立在 HoloViews 之上来创建绘图,使用数据着色器和更改颜色映射,一切都以一种方便的方式进行:
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',
)
可以在此处找到颜色图:
http://holoviews.org/user_guide/Colormaps.html
结果图:
我正在尝试更改数据着色器使用的颜色图。
我试过这个:
datashade(scatter, cmap='Reds')
其中 scatter
是一个 hv.Scatter
元素。这不起作用,因为数据着色器需要一个可迭代的或 returns 颜色的函数。因此,这有效:
datashade(scatter, cmap=['blue'])
那么我如何获取 'Reds'
颜色图并将其转换为数据着色器可以使用的东西?
谢谢。
对;您不能将颜色映射的字符串名称传递给 Datashader 的 cmap
参数,因为 Datashader 将单个字符串解释为单一颜色的名称,通过将 R、G、B 通道设置为颜色,然后改变 alpha 通道。如果您想要一个颜色图,请将颜色列表(Bokeh 用于其调色板)或 Matplotlib 颜色图对象(不是字符串名称)传递给 cmap
:
from matplotlib import cm
datashade(scatter, cmap=cm.Reds)
要从 Holoviews 可用的任何颜色图中进行选择,请使用以下代码:
from holoviews.plotting.util import process_cmap
datashade(scatter, cmap=process_cmap("Magma", provider="bokeh"))
将 "Magma"
和 "Bokeh"
更改为 any of the supported colormaps(感谢@Chris 提供 link)。
请求:如果 opts
提供给 Holoviews 图的参数在 datashade
支持的情况下自动传输,那就太好了,正如这个 GitHub 问题所要求的:https://github.com/holoviz/holoviews/issues/4125 .
您还可以使用 hvplot 库 建立在 HoloViews 之上来创建绘图,使用数据着色器和更改颜色映射,一切都以一种方便的方式进行:
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',
)
可以在此处找到颜色图:
http://holoviews.org/user_guide/Colormaps.html
结果图: