这是我的代码:
d1 = Gnuplot.Data(x1,y1, with_="lines lt rgb 'red'", title="1")
d2 = Gnuplot.Data(x2,y2, with_="lines lt rgb 'red'", title="2")
d3 = Gnuplot.Data(x3,y3, with_="lines lt rgb 'red'", title="3")
g.title("aaa")
g('set size 1,0.75')
g('set grid')
g('set term x11 2')
g('set logscale x')
g('set xtics 1,2,110')
g('set xrange [1:110]')
g.plot(d1,d2,d3)
g.hardcopy("aaa.png", terminal='png')
在gnuplot.py和硬拷贝的临时情节中,由于'设置大小为1,0.75',我在上部有一个大的白色条带。 是否可以避免这种情况并使图形与图形一样大?
由于
答案 0 :(得分:2)
这就是命令set size
的用途:相对于总画布/图像大小更改绘图大小。要更改图像大小,必须使用size
命令的set terminal
参数。不幸的是,gnuplot-py的termdefs.py
中定义的某些终端不支持这种情况。正如termdefs.py
中的评论所说:
“”“终端定义文件。
该模块描述了gnuplot各种可用的选项 终端。目前,它只支持一些终端,但是 基础设施可以根据需要添加其他基础设施。 ...
svg
终端支持size
参数:
import Gnuplot
from numpy import *
x1 = arange(1,10)
y1 = arange(1,10)
d1 = Gnuplot.Data(x1,y1, with_="lines lt rgb 'red'", title="1")
g = Gnuplot.Gnuplot()
g.title("aaa")
g('set grid')
g('set logscale x')
g('set xtics 1,2,110')
g.plot(d1)
g.hardcopy("aaa.svg", terminal='svg', size=[800,400])
最灵活的方法是将原始终端定义字符串传递给gnuplot。然后,行g.hardcopy...
变为:
g('set terminal pngcairo size 800,400')
g.set_string('output', 'aaa.png')
g.refresh()
g.set_string('output')
这也允许您使用更好的pngcairo
终端而不是png
终端。