sol*_*les 6 python visualization data-visualization gnuplot
在Gnuplot中,linetypeor或lt标志允许用户选择线型(虚线,点线,实线等).
我正在使用一个名为Gnuplot-Py的Python包装器.这是一个例子:
import Gnuplot
data1 = [[3, 0.03], [4, 0.02], [5, 0.017]]
data2 = [[3, 0.027], [4, 0.015], [5, 0.014]]
gp = Gnuplot.Gnuplot(persist = 1)
gp('set terminal x11 size 350,225')
gp('set pointsize 2')
gp('set yrange [0.0:0.05]')
plot1 = Gnuplot.PlotItems.Data(data1, with_="linespoints lt rgb 'black' lw 6 pt 1", title="data1")
plot2 = Gnuplot.PlotItems.Data(data2, with_="linespoints lt rgb 'blue' lw 6 pt 8", title="data2")
gp.plot(plot2, plot1)
epsFilename='testLines.eps'
gp.hardcopy(epsFilename, terminal = 'postscript', enhanced=1, color=1) #must come after plot() function
gp.reset()
Run Code Online (Sandbox Code Playgroud)
这是输出:

正如您在上面的代码中看到的那样,lt(linetype)在Gnuplot.PlotItems.Data(..., with_=...)命令中.在普通的Gnuplot中,我们只是lt 1选择行类型1.但是,Gnuplot-Py似乎任意选择行类型(注意一行是实线,一行在上图中是虚线).让我们尝试一些策略来手动更改Gnuplot-Py中的线型...
策略1.我试过lt 1而不是lt在with_字符串中.这会抛出一个错误,但它仍会产生与我们上面看到的相同的情节.
plot1 = Gnuplot.PlotItems.Data(data1, with_="linespoints lt 1 rgb 'black' lw 6 pt 1", title="data1") #returns the error `line 0: ';' expected
Run Code Online (Sandbox Code Playgroud)
策略2.我也尝试lt从with_字符串中删除.这会抛出错误并忽略该data1行的格式(请参阅data1下面的绿线).
plot1 = Gnuplot.PlotItems.Data(data1, with_="linespoints rgb 'black' lw 6 pt 1", title="data1") #returns the error `line 0: ';' expected
Run Code Online (Sandbox Code Playgroud)

策略3.如果我添加gp('set style lt 1'),我再次得到错误line 0: expecting 'data', 'function', 'line', 'fill' or 'arrow',并且图表与上面显示的原始图像保持不变.
这有效:
with_="linespoints lt 1 lw 6 pt 1 linecolor rgb 'black'" #put this inside Gnuplot.PlotItems.Data() command
Run Code Online (Sandbox Code Playgroud)
在我原来的帖子中,我正在做with_="linespoints lt rgb 'black' ...". 换句话说,我把linespoints和linecolor争论混在一起了。我不确定为什么即使我没有指定linetype.
无论如何,要点是我们需要对with_字符串进行这种类型的设置:
linespoints (args to linespoints) linecolor (args to linecolor)
结果如下:

| 归档时间: |
|
| 查看次数: |
2598 次 |
| 最近记录: |