gpt4 book ai didi

python - gnuplot multiplot 中的透明背景

转载 作者:太空狗 更新时间:2023-10-30 00:00:07 27 4
gpt4 key购买 nike

我想在我的 gnuplot 图形中获得透明背景。到目前为止我编码的是:

#! /usr/bin/python

from numpy import *
import Gnuplot as gp
import Gnuplot.funcutils

x = (1,2,3)
y=(2,4,5)
x1 = (3,6,8)
g = gp.Gnuplot()
g("set terminal svg size 200,400")
g("set output 'filename.svg'")
g("unset xtics")
g("unset ytics")
g("set multiplot layout 3,1 title 'Title here'")
g("set object 1 rectangle from screen 0,0 to screen 1,1 fillcolor rgb '#ff0000' behind")
#First
g("set tmargin 2")
g("set title 'Plot'")
g("unset key")
d = gp.Data(x,y,with_="lines")
g.plot(d)
#Secon
g("set title 'Plot2'")
g("unset key")
d1 = gp.Data(x1,y,with_="lines")
g.plot(d1)
#Third
g("set title 'Plot3'")
g("unset key")
d2 = gp.Data(y,x,with_="lines")
g.plot(d2)
g("unset multiplot")

我得到了一个红色屏幕,但只有第三个情节。(是的,我必须更改 rgb 组合以获得透明背景颜色。但是,这是什么?)

提前致谢,面子书

最佳答案

Gnuplot 可以直接输出透明背景,但不是所有格式。例如,这可以为 .png 完成:

set term png transparent truecolor
set output 'plot.png'
plot sin(x)

transparent 处理背景的透明度,truecolor 处理透明对象/绘图填充。

我可以从 gnuplot 获得透明背景的另一种方法是,如果我输出 .eps 并将其转换为 .png 或一些支持透明的光栅格式。

Gnuplot 示例:

set terminal postscript enhanced color
set output 'plot.eps'
plot sin(x)

在 bash 中:

convert plot.eps -rotate 90 plot.png

生成的 .png 具有透明背景,而 .eps 则没有。这可能与 imagemagick 处理透明度的方式有关。我将 .svg 转换为 .png 时不会发生同样的情况;它仍然具有白色背景。

使用矢量图形编辑器(如 Inkscape)来添加透明度可能会有些运气。

关于python - gnuplot multiplot 中的透明背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10606439/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com