代码之家  ›  专栏  ›  技术社区  ›  oz10

C++中的散点图

  •  22
  • oz10  · 技术社区  · 16 年前

    在C++中绘制散点图的最好方法是什么?

    是否将数据写入文件并使用其他工具?在python中是否有类似matplotlib的库?

    9 回复  |  直到 5 年前
        1
  •  30
  •   freespace    16 年前

    我总是先写出数据,然后用 gnuplot 创建我的图表。到目前为止,这是我发现的以各种格式生成图形的最佳方法:eps、png、jpeg、xpm,您可以这样命名。

    gnuplot 很容易做散点图。提供了 x y 值位于两个以空格分隔的列中,然后

    plot "data.txt" using 1:2 
    

    会给你一个快速散点图。然后您可以调整它以及不使用其他gnuplot命令的内容。

    如果你参与科学,那么学习 侏儒 对你很有价值。它肯定会把制作Excel绘图的工作踢出垃圾场,并减轻了将绘图包含在文件中的任务。

        2
  •  12
  •   David Segonds    16 年前

    如果你正在寻找一个C++库而不是我独立的绘图工具,比如GNUGOT,我会考虑如下:

    迪斯林似乎更有趣。以下是摘自维基百科文章的描述:

    迪斯林是德国卡特伦堡林道马克斯普朗克研究所的Helmut Michels开发的一个高层次、易用的绘图库。Helmut Michels目前在该研究所的计算机中心担任数学家和Unix系统经理。

    dislin库包含用于将数据显示为曲线、条形图、饼图、三维颜色图、曲面、轮廓和地图的例程和函数。支持多种输出格式,如x11、vga、postscript、pdf、cgm、hpgl、svg、png、bmp、ppm、gif和tiff。

    DelLin可用于编程语言FORTRAN 77、FORTRAN 90/95和C。对于大多数操作系统,Perl、Python和Java语言的绘图扩展也是支持的。dislin的当前版本是9.4,2008年10月发布。第一个版本1.0于1986年12月发布。

    dislin软件可免费用于非商业用途。

        3
  •  10
  •   dmckee --- ex-moderator kitten    16 年前

    非常重的解决方案:您可以链接到 ROOT ,您可以随心所欲:

    • 在Mac、Windows和Linux上运行
    • 运行编译或使用CINT Interperter
    • 以封装的PostScript、PDF、GIF、PNG格式输出到文件…
    • 使用几种不同的技术在屏幕上显示
    • 以内部格式序列化数据,以后可以对其进行操作

    当然,这对大多数人来说有点多,但它确实按照你的要求做了。我使用它是因为我知道它,而且它已经在我的机器上了,因为我是那种物理学家。

        4
  •  5
  •   oz10    15 年前
        5
  •  4
  •   Konrad Rudolph    16 年前

    这当然不是最好的方法,但是我通常会写输出文件 R 并使用这个,连同一个适当的脚本,来绘制图表。

        6
  •  3
  •   Dima    16 年前

    这里的问题是,与Java不同的是,C++没有内置的GUI或图形。如果你想用C++生成图形,你需要使用你的操作系统的GUI库。有免费的图形用户界面库,许多跨平台,如qt或gtk。

    然而,正如其他人所指出的,对您来说最简单的事情就是将数据保存到一个文本文件中,并使用另一个程序来生成图形。gnuplot绝对是个不错的选择。它是大多数Linux发行版的标准配置,您可以在Cygwin下使用Windows。

        7
  •  1
  •   halfer Rahul Baradia    7 年前

    对于任何没有做过的人,请在C++中作图。我会说我在C++中绘制图表所做的事情

    1. 从下载压缩文件“gp443win32.zip” http://sourceforge.jp/projects/sfnet_gnuplot/downloads/gnuplot/4.4.3/gp443win32.zip/

    2. 在“c:\gnuplot”中提取 然后我读到“c:\gnuplot\gnuplot\readme.windows” 我得到了这些信息:

    3. 我用的是Windows7=>所以你需要下载“winhlp32.exe”…只需在搜索引擎中搜索它“winhlp32.exe windows 7”,然后浏览第一个链接。

    4. 将binary文件夹的路径附加到“path”环境变量“c:\gnuplot\gnuplot\binary”

    5. 然后我关闭电脑,重新打开。当我发现它没有感觉到环境变量的变化:d

    6. 现在您需要编写一个示例代码来测试您的绘图能力:) 所以你可以访问这个链接 http://code.google.com/p/gnuplot-cpp/source/browse/#svn%2Ftrunk 要查看头文件“gnuplot_i.hpp”和源文件“example.cc”。

    您将获得许多图形,选择适当的图形,自定义核心,并享受:)

        8
  •  1
  •   Alex Coventry    5 年前

    如果你熟悉Matplotlib,你可以 embed Python在C/C++应用中的应用。这可能是一个快速的解决方案,具体取决于您想要它的用途。

        9
  •  0
  •   Kibbee    16 年前

    Chart Director 具有C++的绑定。我用过他们的.NET库,我对他们很满意。这是一个相当便宜的图书馆,并给你权力做各种各样的图表。