【问题标题】:Graphics in command-line Mathematica 7?命令行 Mathematica 7 中的图形?
【发布时间】:2011-06-10 19:58:08
【问题描述】:

如何使命令行 Mathematica 7 显示图形?

在旧版本的 Mathematica 中,"Plot[x,{x,1,2}]" 会弹出一个 显示带有一些格式选项(线宽, 等 xy 缩放等)。

Mathematica 6 及更高版本不这样做。根据 http://pages.uoregon.edu/noeckel/Mathematica.html大部分图形 代码现在在笔记本界面中,而不是命令行界面中。

上面的页面还建议将"<<JavaGraphicsX" 用作hack(其中X 是我似乎无法在此处输入的反引号字符)。这行得通, 但是图形窗口没有选项,而且,当我调整窗口大小时, 图表不会调整大小。

有没有更好的解决方案?

不幸的是,我尝试加载 Motif.m 失败了:

In[1]:= <<Motif` 

StringForm::sfr:  
   Item 0 requested in "The Motif` graphics package is obsolete, loading 
      JavaGraphics`." out of range; 0 items available. 
Motif::obslt: The Motif` graphics package is obsolete, loading JavaGraphics`. 
 -- Java graphics initialized --  

以下 Debugging a working program on Mathematica 5 with Mathematica 7 我尝试加载 Version5`Graphics 但这并没有真正帮助。

In[1]:= << Version5`Graphics` 
 -- PostScript to stdout graphics initialized --  

In[2]:= Plot[x,{x,1,2}] 
%! 
%%Creator: Mathematica 
%%AspectRatio: .61803 
MathPictureStart 
/Mabs {  
Mgmatrix idtransform 
Mtmatrix dtransform 
} bind def 

[bunch of Postscript crap] 

% End of Graphics 
MathPictureEnd 

Out[2]= -Graphics- 

【问题讨论】:

    标签: graphics wolfram-mathematica


    【解决方案1】:

    如果您可以将图形作为文件而不是弹出窗口,您可以使用Export

    SetDirectory[NotebookDirectory[]]    
    gfx = Plot[Sin[x], {x, 0, 3}];
    Export["sinplot.pdf", gfx]
    

    您当然应该将NotebookDirectory 替换为在笔记本上下文之外有意义的内容。可以使用Show组合Graphics对象,设置范围和视点等。

    【讨论】:

    • 为了使这项工作在交互式使用中运行良好,您应该找到一个非阻塞 pdf 查看器,它会在文件更改时自动更新。我认为除了 Adob​​e 的产品之外,几乎任何东西都可以——包括许多优秀的免费和/或开源查看器。
    • 其实我已经写了这个函数:'(* hack for display bug *) showit := Module[{}, Export["/tmp/math.jpg",%, ImageSize->{ 800,600}];运行["display /tmp/math.jpg&"]]',它工作正常,但同样,在 -Graphics- 之后还有一个额外的步骤,并且图像处理受到限制。我认为PDF也会受到限制。我意识到我可以使用 Show 来旋转/调整对象的大小等,但最好以交互方式进行。
    • 好的。猜猜这并没有多大帮助。我假设您遇到这种情况是因为您的内核在远程机器上运行?您是否考虑过并拥有必要的许可证来通过可以处理图形的本地前端进行连接?
    • 我的 Mathematica 安装在本地,但我不喜欢 Notebook 界面,觉得它很笨拙。我对“vt100”风格程序与“图形”程序有强烈的偏好。
    • :) 我明白了——所以你只需要图形的 GUI。我不确定 Wolfram 在他们的用例列表中是否包含这些内容……您尝试过 Wolfram Workbench 吗?结合使用仅 ascii 的 .m 文件和笔记本非常好。
    【解决方案2】:

    目前需要指定java grahics:

     <<JavaGraphics`
     Plot[PLOT OPTIONS]
    

    【讨论】:

    • 我认为这是我最初的问题?
    猜你喜欢
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-12
    • 1970-01-01
    • 2010-12-09
    • 2012-02-19
    • 1970-01-01
    相关资源
    最近更新 更多