【问题标题】:Triangle based image in gnuplotgnuplot中基于​​三角形的图像
【发布时间】:2015-02-14 10:22:30
【问题描述】:

我正在尝试绘制一个正常的热图/图像,但是每个数据点的正方形不是一个三角形(实际上是两个三角形,因此将正方形一分为二,但是一旦解决了以下问题,这将是微不足道的)。我首先查看了 gnuplot 演示,其中有一些接近 what I want 的三角形示例,但还不够接近。

所以这就是我所知道的,现在我有几个问题。

通过将每个三角形的所有坐标输入到数据文件中,可以绘制三角形而不是正方形。一个三角形对应的坐标是这样的

     C
    /|
   / |
  /  |
 /   |
/____|
A    B

并将这些输入到数据文件中,如下所示

Ax Ax Z
Bx By Z

Cx Cy Z
Cx Cy Z

因此具有三个三角形的示例数据文件是(注意每个三角形之间有两条线)

0.6 0.6 1
1.4 0.6 1

1.4 1.4 1
1.4 1.4 1


1.6 0.6 2
2.4 0.6 2

2.4 1.4 2
2.4 1.4 2


2.6 0.6 3
3.4 0.6 3

3.4 1.4 3
3.4 1.4 3

生成图像

这有两个问题:

  1. 即使三角形实际上绘制得非常接近 0.5、1.5、2.5 等。我必须为数据文件中的值选择 0.4/6,否则三角形会重叠(它们仍然重叠,但足够了,因为当印在纸上);和
  2. 三角形右上角有一个奇怪的凹痕。

所以我基本上想知道 1(但不介意,因为我对非常小的重叠感到满意)并且想要修复 2 以便绘制一个漂亮的三角形。

【问题讨论】:

    标签: image geometry gnuplot


    【解决方案1】:

    似乎 postscript 终端为每个 pm3d 多边形绘制了一个额外的边框(不知道为什么)。只需设置一个小的线宽(将其设置为 0 会被忽略)。

    使用修正后的数据文件(使用 0.5、1.5 和 2.5)之类的

    0.5 0.5 1
    1.5 0.5 1
    
    1.5 1.5 1
    1.5 1.5 1
    
    
    1.5 0.5 2
    2.5 0.5 2
    
    2.5 1.5 2
    2.5 1.5 2
    
    
    2.5 0.5 3
    3.5 0.5 3
    
    3.5 1.5 3
    3.5 1.5 3
    

    并用

    绘制它
    set pm3d map
    set xrange [0:50]
    set yrange [0:50]
    
    set terminal postscript eps color
    set output 'foobar.eps'
    splot 'file.txt' lw 0.1
    

    工作正常:

    【讨论】:

    • 哎呀,是的,非常抱歉,你是对的,我是这样策划的 splot 'file.txt' w pm3d。我只是按照您的建议进行了尝试,并且可以按照您的说明进行操作。但是,例如,如果您将 x 和 y 范围都更改为[0:50],则在放大时会出现明显的重叠并且小凹痕会再次出现。我正在使用终端postscript eps enhanced color solid。也许准确性有限(尽管这对矢量格式没有意义)?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    • 2012-06-13
    相关资源
    最近更新 更多