• Gnuplot:安装与使用备忘


    异常信息

    问题起源于 signalp-4.1 调用 gnuplot 进行画图,在画图的时候提示不支持 png 格式结果:

    $ gnuplot
    
            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')
    
    Terminal type set to 'x11'
    gnuplot> set term png font "Helvetica,12"  # 您必须在绘图前设置终端和输出文件名
    Terminal type set to 'unknown'
                      ^
             unknown or ambiguous terminal type; type just 'set terminal' for a list
    
    gnuplot> set term png font "Helvetica,12";
    Terminal type set to 'unknown'
                      ^
             unknown or ambiguous terminal type; type just 'set terminal' for a list
    
    gnuplot> set terminal # 查看 gnuplot 支持的设置格式
    
    Available terminal types:
               canvas  HTML Canvas object
                  cgm  Computer Graphics Metafile
              context  ConTeXt with MetaFun (for PDF documents)
                corel  EPS format for CorelDRAW
                 dumb  ascii art for anything that prints text
                  dxf  dxf-file for AutoCad (default size 120x80)
                eepic  EEPIC -- extended LaTeX picture environment
                  emf  Enhanced Metafile format
                emtex  LaTeX picture environment with emTeX specials
             epslatex  LaTeX picture environment using graphicx package
                  fig  FIG graphics language for XFIG graphics editor
                 hpgl  HP7475 and relatives [number of pens] [eject]
                latex  LaTeX picture environment
                   mf  Metafont plotting standard
                   mp  MetaPost plotting standard
                 pcl5  HP Designjet 750C, HP Laserjet III/IV, etc. (many options)
                 ......
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43

    因此考虑重装 gnuplot,以支持 png, jpeg, and gif terminals,具体步骤如下。

    安装 GD library 库

    GD (https://github.com/libgd/libgd)是一个用于程序员动态创建和处理图像的开源库。手动安装步骤如下。

    $ curl -LjO https://github.com/libgd/libgd/releases/download/gd-2.2.5/libgd-2.2.5.tar.gz
    $ tar zvxf libgd-2.2.5.tar.gz
    $ cd libgd-2.2.5
    $ ./configure --prefix=/Bioinfo/SoftWare/libgd-2.2.5
    $ make 
    $ make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    安装 Gnuplot
    官网:http://www.gnuplot.info/
    注意:
    1
    configure 时需要把前一步安装好的 libgd 加进去;
    2
    make install 如遇一下类似 Permission denied, 可忽略,不影响使用。

    $ wget http://ftp.cstug.cz/pub/CTAN/graphics/gnuplot/5.2.6/gnuplot-5.2.6.tar.gz
    $ tar zvxf gnuplot-5.2.6.tar.gz
    $ cd gnuplot-5.2.6
    $ ./configure --prefix=/Bioinfo/SoftWare/gnuplot-5.2.6 --with-gd=/Bioinfo/SoftWare/libgd-2.2.5 LDFLAGS="-L/Bioinfo//SoftWare/libgd-2.2.5/lib" CPPFLAGS="-I/Bioinfo/SoftWare/libgd-2.2.5/include" 
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    checking for gawk... gawk
    ......
    ** Configuration summary for gnuplot 5.2.6:
    
    gnuplot will be compiled with the following terminals:
    
      Standalone terminals: yes (always builtin)
        canvas, cgm, context, dumb, dxf, eepic, emf, emtex,
        epslatex, fig, hpgl, latex, metafont, metapost, mif, pcl5,
        postscript, pslatex, pstex, pstricks, qms, svg,
        tek40xx, tek410x, texdraw, tgif, tkcanvas, tpic, vttek
    
      dot-matrix terminals: no (use --with-bitmap-terminals to enable)
        epson, nec, okidata, tandy, and seiko dp414 printers
        hp500c, hpdj, hpljii, hppj, pbm, sixel, starc
    
      X Window System terminal: yes
        (with multi-byte fonts)
        (enable plotting to windows opened by external apps)
        (with application defaults, in /etc/X11/app-defaults/)
      linux terminal (vga console): no (use --with-linux-vga to enable)
      vgagl terminal ((s)vga console): no (use --with-linux-vga to enable)
      ggi terminal: no (use --with-ggi to enable, requires libggi)
      gpic terminal: no   (use --with-gpic to enable)
      mif terminal: no   (use --with-mif to enable)
      caca terminal: no (use --with-caca to enable)
      aqua terminal (OSX): no
      libgd-based png, jpeg, and gif terminals: yes (with animated gif)
      cairo-based terminals: no (requires cairo>=1.2, pango>=1.22, glib>=2.28)
      lua/TikZ terminal: no
      wxt terminal: no (requires C++, wxWidgets>2.6, cairo>0.9, pango>1.22)
      Qt terminal: yes (qt4)
    
      Additional platform-specific or older terminals omitted by default:
       gpic, mif (FrameMaker 3), hp2623a, hp2648, imagen, kyocera
       pm (makefile.os2), be (BeOS), svga (MSDOS/djgpp)
       windows (several options)
    
    gnuplot will be compiled with the following configurable features:
    
      Mouse support in interactive terminals: yes
      Typing  in plot window raises console
      Placement of rectangles and other objects: yes
      Readline library: GNU readline library with  -lncurses
      Command-line history file: yes
      Check current directory for .gnuplot file: no (use --with-cwdrc to enable)
      Sort help/subtopic tables by column: no (use --without-row-help to enable)
      cerf() and other special functions: no (libcerf not found)
      plugin support for loading external functions: yes
      Use TeX kpsexpand to search for fonts: no (use --with-kpsexpand to enable)
      Hidden3d optimization (gridbox/quadtree/none): quadtree
      Allow deprecated syntax: no (use --enable-backwards-compatibility)
      Statistical summary of data ("stats" command): yes
    ......
    $ make
    $ make install 
    # 如遇一下 Permission denied, 可忽略,不影响使用
    ......
    make[3]: Nothing to be done for `install-exec-am'.
     /bin/mkdir -p '/Bioinfo/APPS/texlive/texmf-local/tex/latex/gnuplot'
    /bin/mkdir: cannot create directory `/Bioinfo/APPS/texlive/texmf-local/tex/latex/gnuplot': Permission denied
    make[3]: *** [install-texDATA] Error 1
    make[3]: Leaving directory `/Bioinfo/Pipeline/src/pkgs/gnuplot-5.2.6/share/LaTeX'
    make[2]: *** [install-am] Error 2
    make[2]: Leaving directory `/Bioinfo/Pipeline/src/pkgs/gnuplot-5.2.6/share/LaTeX'
    make[1]: *** [install-recursive] Error 1
    make[1]: Leaving directory `/Bioinfo/Pipeline/src/pkgs/gnuplot-5.2.6/share'
    make: *** [install-recursive] Error 1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75

    在这里插入图片描述
    注意:configure 的提示(libgd-based png, jpeg, and gif terminals: yes)

    1. 集群运行时,如遇上以下报错,执行一下ldd /Bioinfo/SoftWare/gnuplot-5.2.6/bin/gnuplot,把缺失的对应指向的 libQt*.so 拷贝到一个指定目录,然后增加一个export LD_LIBRARY_PATH=/Bioinfo/SoftWare/gnuplot-5.2.6/customlib:$LD_LIBRARY_PATH即可。
    gnuplot: error while loading shared libraries: libQtNetwork.so.4: cannot open shared object file: No such file or directory
    
    • 1

    在这里插入图片描述

    简单绘图

    安装完成后,进入 gnuplot 简单画图并保存为 plot.png。

    gnuplot> set term png font "Helvetica,12"
    
    Terminal type is now 'png'
    Options are 'nocrop enhanced size 640,480 font "Helvetica,12.0" '
    gnuplot> set output "plot.png"
    gnuplot> plot sin(x)
    gnuplot> exit
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

  • 相关阅读:
    Python中的Super详解
    java版 支付宝和微信 h5支付
    APOLLO UDACITY自动驾驶课程笔记——规划、控制
    rman catalog
    【重磅】刚刚,《学位法》通过!!!2025年1月1日起施行!
    容器批量计算调度引擎Volcano v1.2版本后的资源预留
    容器内的Linux诊断工具0x.tools
    我可能永远也没办法成为全栈工程师了,看看你还差多少?
    C++基础知识
    力扣名企直通车-学习计划-网易-刷题记录
  • 原文地址:https://blog.csdn.net/a1137588003/article/details/133151923