Gnuplot可以处理png透明度吗?

时间:2014-05-12 13:23:40

标签: gnuplot

我正在使用gnuplot的plot 'my_image.png' binary filetype=png with rgbimage功能将图像叠加在(稀缺的)散点图上。

我的png有一个透明的背景,所以我一直希望他们能“尊重”网格和轴,但不幸的是它们被绘制在它上面,背景为白色,不透明。

有没有办法解决这个问题?

最小工作示例

文件2091450.png由First Google result for Transparent PNG提供:

set terminal pdfcairo font "CMU Serif" linewidth 4 rounded \
fontscale 1.0 size 29.7cm, 21cm enhanced dashed
set output 'transparency_test.pdf'

set style line 81 lt rgb "#808080"
set style line 80 lt 0  # dashed
set style line 80 lt rgb "#808080"  # grey
set grid back linestyle 80

set border 3 back linestyle 81
plot '2091450.png' binary filetype=png origin=(0,0) dx=1.0 dy=1.0 with rgbimage

2 个答案:

答案 0 :(得分:2)

有几件事:

  • 您的链接只给我一个jpg图像,尽管有URL名称(如果它是透明的,那么只有rgbimage样式才会得到一个完全黑色的图像。

    < / LI>
  • 要使用透明度绘制图像,请使用rgbalpha绘图样式:

    plot 'transparencytest.png' binary filetype=png with rgbalpha
    

    我使用以下文件transparencytest.png进行测试,效果很好:

    enter image description here

  • 为什么不把网格和边框放到front图层?

答案 1 :(得分:1)

这是一个经典的案例,由于Google搜索不合适,我最初无法解决这个问题:寻找图片透明度&#39; gnuplot png图片透明度&#39;根本没有效率,因为所有关键词都相互交互以产生不同的结果。

但是搜索&#39; rgbimage透明度&#39;因为减少了单词之间的干扰而得到了更好的结果,并导致我this页面得到了适当的结果:

不要使用rgbimage,只需使用rgbalpha