gnuplot - 如何在gnuplot的多个图中设置背景颜色?
问题描述
如何在gnuplot的多个图中设置背景颜色?我尝试了以下脚本:
reset
set encoding iso_8859_1
set terminal pngcairo size 1400,800 font "Serif CMU,15" enhanced
set output "figure.png"
Row1 = "set tmargin screen 0.92; set bmargin screen 0.40" # Top and bottom margins
Row2 = "set tmargin screen 0.40; set bmargin screen 0.20"
Col1 = "set lmargin screen 0.10; set rmargin screen 0.50" # Left and right margins
Col2 = "set lmargin screen 0.50; set rmargin screen 0.88"
# Multiplot option with main title
set multiplot layout 2,2 rowsfirst
@Row1; @Col1 # Calling the macros
set object 1 rectangle from screen 0,0 to screen 1,1 behind fillcolor rgb '#F6DEBE' fillstyle solid noborder
plot 'blue.txt'
@Row1; @Col2
set object 1 rectangle from screen 0,0 to screen 1,1 behind fillcolor rgb '#F6DEBE' fillstyle solid noborder
plot 'blue.txt'
@Row2; @Col1
set object 1 rectangle from screen 0,0 to screen 1,1 behind fillcolor rgb '#F6DEBE' fillstyle solid noborder
plot 'blue.txt'
@Row2; @Col2
set object 1 rectangle from screen 0,0 to screen 1,1 behind fillcolor rgb '#F6DEBE' fillstyle solid noborder
plot 'blue.txt'
我还尝试在每次绘图后设置未设置的对象 1。
我获得了:
解决方案
欢迎来到 StackOverflow!你检查过help pngcairo
吗?
句法:
set term pngcairo {{no}enhanced} {mono|color} {{no}transparent} {{no}crop} {background <rgbcolor>
因此,除非您有一些特殊的愿望,否则类似下面的内容应该可以完成这项工作。
set term pngcairo background 0xf6debe
添加:
如果您想为图表设置不同的背景,您可以在整个图表或屏幕的一部分后面设置一个矩形。但是,虽然应该有选项noborder
,但我还没有设法绘制没有边框的矩形。我不知道我错过了什么。
代码:(彩色图形背景)
### different colored backgrounds for each graph
reset session
set multiplot layout 2,2
set grid x,y
set obj 1 rect from graph 0,0 to graph 1,1 fc rgb 0xffdddd behind
plot x
set obj 1 rect from graph 0,0 to graph 1,1 fc rgb 0xddffdd behind
plot x**2
set obj 1 rect from graph 0,0 to graph 1,1 fc rgb 0xddddff behind
plot cos(x)
set obj 1 rect from graph 0,0 to graph 1,1 fc rgb 0xffffdd behind
plot sin(x)/x
unset multiplot
### end of code
结果:
代码:(部分画布/屏幕的彩色背景)
### colored backgrounds in multiplot
reset session
set multiplot layout 2,2
set obj 1 rect from screen 0.0,0.5 to screen 0.5,1.0 fc rgb 0xffeeee behind
plot x
set obj 1 rect from screen 0.5,0.5 to screen 1.0,1.0 fc rgb 0xeeffee behind
plot x**2
set obj 1 rect from screen 0.0,0.0 to screen 0.5,0.5 fc rgb 0xeeeeff behind
plot cos(x)
set obj 1 rect from screen 0.5,0.0 to screen 1.0,0.5 fc rgb 0xffffee behind
plot sin(x)/x
unset multiplot
### end of code
结果:
推荐阅读
- android - firebase.notifications() 在 react-native-firebase 中抛出错误
- c# - 用于查找某人迟到的记录的 SQL 查询
- javascript - 如何让一根手指移动谷歌地图但*不是*两根手指
- python - 使用 Python 在 Raspberry Pi 3 上读取数字和模拟输入
- c# - 尝试安装没有强名称的程序集
- laravel - 在laravel中上传图像文件不起作用
- java - 创建由列表中缺少的项目组成的列表
- javascript - 将二数组对象转换为一数组对象
- java - 如何防止 JodaTime 周期的负面结果
- python - 带有 Redis 的 Django websockets