无法在Mac上使用gnuplot进行绘图


47

我试图在Mac(OS X 10.8.5)上使用gnuplot进行绘图。我已经安装了X11和XQuartz 2.7.4,之后又安装了gnuplot,但不幸的是gnuplot无法绘制。

如下所示的简单图无法渲染,并且没有错误消息来帮助您理解错误:

 [1/10/13 $gnuplot >plot sin(x)

2
您能具体说说什么不起作用吗?也许您正在使用的命令,错误消息和结果?
苏格兰

1
当我想在gnuplot中绘制sin(x)时,它无法绘制,并转到下一行而没有任何错误。$ gnuplot>绘制sin(x)>
Soheil

请在问题正文中编辑相关细节。注释会不时被清除,如果发生这种情况,我们不希望失去这个问题。
bmike

1
您是如何安装的?
user151019 2013年

xterm给您xterminal吗?
user151019 2013年

Answers:


49

我也发生了同样的事情,但后来我跑了

brew uninstall gnuplot; brew install gnuplot --with-x11

并安装了XQuartz。现在gnuplot支持x11终端:

您也可以将输出保存到文件中并使用qlmanage -p

gnuplot -e 'set term png; set output "/tmp/plot.png"; plot sin(x)'; qlmanage -p /tmp/plot.png

qlmanage -p在10.9中显示沙箱错误,并向STDOUT打印一些不必要的文本,因此我ql() { qlmanage -p "$@"&>/dev/null; }在shell中使用了类似的功能。

第三种选择是set term dumb用于纯文本输出。


1
也许今天我很慢,但是我在gnuplot文档中花了15分钟的时间来寻找一个像这样的简单示例。或者文档对观众做出了一些假设,但我不是其中的一个:)
Jared Beck

5
xQuartz很重,因此自制软件无法打包它。我改用--qt选项bew install gnuplot --qt,它现在可以正常工作。
bibstha 2014年

3
选项名称已更改为,--with-x11但我不能仅编辑两个字符。
2014年

1
请注意,有时您需要在安装XQuartz之后注销并重新登录。(不知道为什么,但它没有正确设置$ DISPLAY变量,直到我登出)此外,非常有用的安装XQuartz是caskroom.iobrew cask install xquartz
caesarsol

不适用于OS X Yosemite
Mateusz Piotrowski

24

在OS X Yosemite 10.10.2和El Capitan 10.11.2中,Gnuplot不与XQuartz打包在一起。在bibstha的评论中回答。qt中有更强大的窗口管理器,它可以工作

 brew uninstall gnuplot
 brew install gnuplot --with-qt

请注意,--qt现在不建议使用。


Warning: gnuplot: --qt was deprecated; using --with-qt instead!
顺便提一下

@vitaly有趣。我没有收到该警告,或者我忽略了。我更改了命令。
莱奥列奥波尔德·赫兹준 영

--qt必须在某个时候有效,然后已弃用
vitaly

1
为什么不选择两者:brew install gnuplot --with-qt --with-x11
kenorb

由于优胜美地中存在X11的错误。优胜美地目前不使用,因此无法测试最新更新。
雷奥波德·赫兹(LéoLéopoldHertz)2015年

4

您是从“终端”窗口还是X11窗口运行此文件?终端将单独启动X11以显示该图,因此它可能不是立即(或可见)的。键入plot命令后,X11是否会启动?

如果在X11窗口中尝试,则结果应该更直接。

另外,如果您最初使用macports进行安装,则建议homebrew改用:

brew install gnuplot

编辑:要检查输出结果,您可以将结果定向到文件:

set terminal png
set output 'testimage.png'
plot sin(x)
exit

然后查看一个名为的文件是否testimage.png包含您的绘图。您也可以尝试通过以下方式指定终端:

set terminal x11

是的,您是对的,最后一个>不属于我的命令。而且,我分别从“终端”窗口和“ X11”窗口运行,但是它们都无法绘制。
Soheil

然后,我将尝试使用重新安装brew。如果不了解您的安装情况,很难进行诊断。
beroe

(更新的答案还有其他要测试的内容...)
beroe 2013年

为什么用brew替换macport会有所不同,它们都可以工作-两者都比自己做的要好得多
user151019 2013年

以我的经验,当我使用macports时,我在库和依赖项方面遇到问题,因此已停止这样做……
beroe 2013年

1

在优胜美地,最初,我安装了石英和炮台5.0.0。但是,我无法加载我的x11窗口(其他所有文件X11都不知)。这是“为我工作”的解决方法。

转到gunplot源文件夹

make clean; 
make uninstall

然后在以下行的“配置”文件中

# Standard set of common directories for X headers.

# Check X11 before X11Rn because it is often a symlink to the current release.

---added the location of my X11 files also  
/opt/X11/include

现在运行

./configure
make
sudo make install

如下所示,对我来说效果很好

G N U P L O T
Version 5.0 patchlevel 0    last modified 2015-01-01 

Copyright (C) 1986-1993, 1998, 2004, 2007-2015
Thomas Williams, Colin Kelley and many others

gnuplot home:     http://www.gnuplot.info
faq, bugs, etc:   type "help FAQ"
immediate help:   type "help"  (plot window: hit 'h')

终端类型set to 'x11'


我认为如何安装X11 / opt并不常见
user151019 2015年

0

谢谢。下载gunplot 5.0并在优胜美地10.10.2下安装后,gnuplot无法“加载” x11终端。将配置文件指向/ opt / X11 / include(重新配置,重新制作和重新安装)后,一切正常。(我也很惊讶X11在/ opt / X11中。)


为什么不使用石英后端而不是X11
2015年

0

这里的大多数建议都显示了如何通过来安装/重新安装GNUPlot brew。如果您安装了GNUPlot,并且不确定使用哪个终端,则可以这样确定:

$ gnuplot <<<'show terminal'

   terminal type is qt 0 font "Sans,9"

现在,我们知道我们正在使用qt终端类型。现在掌握的信息稀少,您可以决定采取哪种行动,或者通过其他答案之一来重新安装GNUPlot,brew也可以通过随意配置现有终端set terminal ....。命令。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.