当试图在Windows 8 64位上将Octave 3.8.1.1中的绘图打印到.png时,轴绘图,但是I' m绘图线不会打印。我创建的情节是:
> t = 0:0.1:6.28318;
> plot (t, sin(t));
> print figure.png
结果图:
图像保存到磁盘:
所以轴显示正常,但是我画的线完全没有了!
我安装了gs9.09(win32),并将epstool win32复制到gs' s / bin目录中,该目录在我的%HOMEPATH%\.octaverc
中设置为:
cmd_path = getenv ("path");
gs_path = 'C:\Programs\gs\gs9.09\bin';
if (isempty (strfind (cmd_path, gs_path)))
setenv ('path', strcat (cmd_path, pathsep (), gs_path));
endif
我正在通过w8-octave-gui.bat
运行Windows GUI版本。
修改
在使用以下命令进行全新启动之前,在启动任何绘图之前将gnuplot设置为图形工具包(来自@Andy的评论),我得到所有图像的空白图像,而不是-dpngalpha
(1,2, 4,5)和完全透明的图像,没有图像内容 -dpngalpha
(3,6):
>> graphics_toolkit("gnuplot");
>> graphics_toolkit()
ans = gnuplot
>> t = 0:0.1:6.3;
>> plot(t,sin(t));
>> print ("1.png");
>> print ("-dpng", "2.png");
>> print ("-dpngalpha", "3.png");
>> axis("off");
>> print ("4.png");
>> print ("-dpng", "5.png");
>> print ("-dpngalpha", "6.png");
HALP!
答案 0 :(得分:2)
您似乎已经发现了这个错误:https://savannah.gnu.org/bugs/?42534
我知道你回答了juliohm的评论,转换到gnuplot并没有效果,但我无法相信这一点。你必须执行
graphics_toolkit("gnuplot")
在任何创建情节图的命令之前。确保你可以运行"关闭所有"之前。
您遇到问题的原因可能是由于z深度的某些舍入误差而在白色背景后面打印了这条线。你能试试吗 编辑:启用graphics_toolkit fltk时的这些命令(应该是默认安装和重启的情况):
t = 0:0.1:6.28318;
plot (t, sin(t));
axis ("off");
print ("-dpngalpha", "out.png")
验证这个?这并不能解决您的问题,但可以帮助Octave维护人员找到问题。
答案 1 :(得分:0)
我遇到了同样的问题。
对我来说,解决方案是绕过系统图形驱动程序并切换到使用Mesa进行OpenGL软件渲染。为了实现这一点,我下载了在http://qt-project.org/wiki/Cross-compiling-Mesa-for-Windows上链接的Mesa的Windows二进制文件,并将包含的opengl32.dll复制到octave的bin目录中。之后打印命令工作正常。
上面链接中的Mesa二进制文件是使用LLVMpipe构建的,似乎运行速度相当快。