C++中的散点图

C++中的散点图

问题描述:

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

您是否将数据写入文件并使用其他工具? Python中是否有像matplotlib这样的库?

+0

检查http://stackoverflow.com/a/40612989/2192115 – SAAD 2016-11-15 15:26:07

我总是写出数据,然后使用gnuplot来创建我的图。这是迄今为止我所发现的以各种格式生成图形的最佳方式:eps,png,jpeg,xpm,您可以将其命名。

gnuplot很容易做散点图。提供的xy值是2的空间分隔columnss,然后

plot "data.txt" using 1:2 

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

如果您涉足科学,那么学习gnuplot将对您非常有价值。它肯定会让玩家无法理解excel地块,并且可以简化制作包含在论文中的地块的任务。

这当然不是最好的方法,但我通常会编写可以通过R读取的输出文件,并使用它和适当的脚本来绘制图形。

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

DISLIN似乎这两者中更有趣。这里是从维基百科的文章中提取的描述:

DISLIN是一个高层次的和易于使用的绘图由赫尔穆特·米歇尔斯的马克斯普朗克研究所卡特伦布尔格 - 林道,德国开发库。 Helmut Michels目前在该研究所的计算机中心担任数学家和Unix系统管理员。

DISLIN库包含用于以曲线,条形图,饼图,三维颜色图,曲面,轮廓和贴图形式显示数据的例程和函数。支持多种输出格式,如X11,VGA,PostScript,PDF,CGM,HPGL,SVG,PNG,BMP,PPM,GIF和TIFF。

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

DISLIN软件是免费用于非商业用途。

这里的问题是,与Java不同,C++没有内置的GUI或图形。如果您想用C++生成图表,您需要使用可用于您的操作系统的GUI库。有免费的GUI库,许多交叉平台,如Qt或GTK。

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

如果你熟悉matplotlib,你可以embed蟒蛇在C/C++应用程序。取决于你想要什么,这可能是一个快速解决方案。

Chart Director具有用于C++绑定。我已经使用了他们的.Net库,我对它们感到非常满意。这是一个相当便宜的图书馆,并为您提供各种不同图表的功能。

非常沉重的解决方案:你可以链接反对ROOT,它会做几乎任何你想要的:

  • 在Mac,Windows和Linux上运行
  • 运行编译或使用CINT interperter
  • 输出在一个文件中封装postscript,PDF,gif,png ...
  • 使用几种不同的技术显示屏幕
  • 序列化数据在内部f ormat,可以稍后操作

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

好老GNU,他们所拥有的一切......

http://directory.fsf.org/project/plotutils/

祺在C++中绘制的人谁没有做到这一点呢。我会说我做了什么绘制图表在C++

  1. http://sourceforge.jp/projects/sfnet_gnuplot/downloads/gnuplot/4.4.3/gp443win32.zip/

  2. 下载的压缩文件 “gp443win32.zip” 在 “C:\ gnuplot的” 提取它 然后我读“C: \ Gnuplot \ gnuplot \ README.Windows“ 和我得到这些信息:

  3. 我用Windows 7 ==>所以你需要下载”winhlp32.exe“...只是搜索它”winhlp32.exe Windows 7“在搜索引擎中,并通过第一个链接。

  4. 追加到“路径”环境变量的二进制文件夹的路径是“C:\ gnuplot的\ gnuplot的\二进制”

  5. 然后关闭我的电脑,然后再次打开它。之后,我发现它没有感知环境变量的变化:d

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

你会得到很多,很多图表,选择你相应的图,自定义你的核心,并享受:)