首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Gnuplot:如何在颜色框中设置特定颜色的范围

Gnuplot:如何在颜色框中设置特定颜色的范围
EN

Stack Overflow用户
提问于 2014-06-04 20:02:47
回答 1查看 988关注 0票数 1

我想在调色板中定义特定颜色的范围:

例如:

代码语言:javascript
运行
复制
set pm3d;
set pm3d map;
splot x*y;

给予:

我想把红色从-50开始到50。我该怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-04 20:29:04

对于标准的gnuplot调色板,您可以实现如下所示:

定义gnuplot的标准调色板的红色、绿色和蓝色值的函数是

代码语言:javascript
运行
复制
red(x) = sqrt(x)
green(x) = x**3
blue(x) = sin(2*pi*x)

请参阅show palette以查看使用了哪些函数(rgb color mapping by rgbformulae are 7,5,15)。使用show palette rgbformulae,您可以找到哪些函数与此数字相关联。

所以你的例子相当于

代码语言:javascript
运行
复制
red(x) = sqrt(x)
green(x) = x**3
blue(x) = sin(2*pi*x)

set palette functions red(gray), green(gray), blue(gray)
set pm3d map
splot x*y

现在,您可以将映射函数应用到gray值。此函数必须将原始的灰度范围[0:1]映射到范围[0:1]中的新的灰度范围,例如

代码语言:javascript
运行
复制
map(x) = (x < 0.25 ? 2*x : (x > 0.75 ? 2*x - 1 : 0.5))
red(x) = sqrt(x)
green(x) = x**3
blue(x) = sin(2*pi*x)

set palette functions red(map(gray)), green(map(gray)), blue(map(gray))
set pm3d map
splot x*y

测试调色板定义的一个好方法是使用test palette

代码语言:javascript
运行
复制
map(x) = (x < 0.25 ? 2*x : (x > 0.75 ? 2*x - 1 : 0.5))
red(x) = sqrt(x)
green(x) = x**3
blue(x) = sin(2*pi*x)
set palette functions red(map(gray)), green(map(gray)), blue(map(gray))
test palette

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24046533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档