【发布时间】:2018-03-08 19:11:44
【问题描述】:
我想使用 Matlab 中常用的样式用 Gnuplot 绘制 3D 直方图。 我遵循的步骤顺序是:
set palette defined ( 0 '#000090',\
1 '#000fff',\
2 '#0090ff',\
3 '#0fffee',\
4 '#90ff70',\
5 '#ffee00',\
6 '#ff7000',\
7 '#ee0000',\
8 '#7f0000')
set pm3d at s
set view map
splot 'test.dat' u 1:2:3
正如您在下面的数据中看到的那样,大多数条目都是零,这使得绘图非常蓝色。在 Matlab 中,可以使这种类型的直方图和零值具有白色。只有不为零的点具有上面调色板中的颜色。我希望将这些点设为白色,因为这样会强调实际的采样区域。
我想知道我们是否可以在 Gnuplot 中做到这一点。我尝试省略数据文件中的零,但它导致了一个尖角图。
另外,我修改了调色板,明确定义了零值,如下所示:
set palette defined ( 0 '#ffffff',\
1 '#000090',\
2 '#000fff',\
3 '#0090ff',\
4 '#0fffee',\
5 '#90ff70',\
6 '#ffee00',\
7 '#ff7000',\
8 '#ee0000',\
9 '#7f0000')
但是,采样区域的边界看起来是紫色的:
谢谢。
1 1 1
1 2 0
1 3 0
1 4 0
1 5 0
1 6 0
1 7 0
1 8 0
2 1 0
2 2 0
2 3 1
2 4 2
2 5 3
2 6 0
2 7 0
2 8 0
3 1 0
3 2 0
3 3 2
3 4 10
3 5 15
3 6 2
3 7 0
3 8 0
4 1 0
4 2 0
4 3 0
4 4 5
4 5 2
4 6 1
4 7 0
4 8 0
5 1 0
5 2 0
5 3 0
5 4 3
5 5 2
5 6 0
5 7 0
5 8 0
6 1 0
6 2 0
6 3 0
6 4 2
6 5 0
6 6 0
6 7 1
6 8 0
7 1 0
7 2 0
7 3 0
7 4 0
7 5 0
7 6 0
7 7 0
7 8 0
8 1 0
8 2 0
8 3 0
8 4 0
8 5 0
8 6 0
8 7 0
8 8 0
【问题讨论】:
-
您是否尝试将相应的调色板条目设置为白色?
-
我尝试将零值设置为#ffffff(白色),但生成的图在边界处看起来很奇怪。它们看起来比相邻的点更暗。
-
我不知道那是什么意思。请注意,您有一个 8x8 数组,但只创建了 7x7 正方形。数据位于交叉点。这可能是生成的图在边界处看起来很奇怪的原因。
-
请看我刚刚添加到初始问题中的信息。
-
在我看来,网格是用一种颜色绘制的,而边框是用另一种颜色绘制的。如果你仔细看,你可以在原始情节中观察到同样的情况。