基于 GNUPLOT 中的颜色图绘制多条带颜色的曲线
plot multiple curves with color based on a color map in GNUPLOT
这是我在使用 GNUPLOT 时遇到的问题:我的数据文件每列有两列(一列用于电压,另一列用于电流)并且每列都是针对特定温度(在它们的名称中指定的,例如iv_300K.dat、iv_290K.dat 等)。
现在我想要的是在同一张图上绘制每个数据文件,并且每个图都有一个基于文件名的颜色(我想给你看一个我用 Mathematica 制作的图,但我的名声似乎太低了...)
所以假设我有 iv_300K.dat、iv_250K.dat 和 iv_160K.dat 我想要三条曲线,第一个是红色,第二个是绿色,第三个是蓝色,但是基于文件名中的温度信息。
我的想法与我在 Mathematica 中所做的类似:
ColorData["DarkRainbow"][Rescale[T, {160, 350}]]
其中 "DarkRainbow"
是颜色图,Rescale[x,{min,max}]
在 min 到 max 范围内将 x 重新调整为 运行 从 0 到 1(根据 Mathematica 文档)。
所以Rescale[250,{160,350}] = 0.473684
目前在 GNUPLOT 中,我使用以下内容进行测试:
plot for [i=350:160:-10] 'iv_'.i.'.K.dat' using 1:2 with lines title sprintf("".i." K")
但我无法获取颜色来映射温度。
感谢任何帮助!
根据 [0:1]:
范围内的值,使用 linecolor palette frac
到 select 调色板中的颜色
set cbrange [160:350]
set style data lines
plot for [i=350:160:-10] 'iv_'.i.'.K.dat' using 1:2 linecolor palette frac (i-160.0)/(350.0-160.0) title sprintf("%dK", i)
这是我在使用 GNUPLOT 时遇到的问题:我的数据文件每列有两列(一列用于电压,另一列用于电流)并且每列都是针对特定温度(在它们的名称中指定的,例如iv_300K.dat、iv_290K.dat 等)。
现在我想要的是在同一张图上绘制每个数据文件,并且每个图都有一个基于文件名的颜色(我想给你看一个我用 Mathematica 制作的图,但我的名声似乎太低了...)
所以假设我有 iv_300K.dat、iv_250K.dat 和 iv_160K.dat 我想要三条曲线,第一个是红色,第二个是绿色,第三个是蓝色,但是基于文件名中的温度信息。
我的想法与我在 Mathematica 中所做的类似:
ColorData["DarkRainbow"][Rescale[T, {160, 350}]]
其中 "DarkRainbow"
是颜色图,Rescale[x,{min,max}]
在 min 到 max 范围内将 x 重新调整为 运行 从 0 到 1(根据 Mathematica 文档)。
所以Rescale[250,{160,350}] = 0.473684
目前在 GNUPLOT 中,我使用以下内容进行测试:
plot for [i=350:160:-10] 'iv_'.i.'.K.dat' using 1:2 with lines title sprintf("".i." K")
但我无法获取颜色来映射温度。
感谢任何帮助!
根据 [0:1]:
范围内的值,使用linecolor palette frac
到 select 调色板中的颜色
set cbrange [160:350]
set style data lines
plot for [i=350:160:-10] 'iv_'.i.'.K.dat' using 1:2 linecolor palette frac (i-160.0)/(350.0-160.0) title sprintf("%dK", i)