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

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

有帮助吗?

解决方案

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

gnuplot 非常容易散点图。如果 x y 值在2个以空格分隔的列中,则

plot "data.txt" using 1:2 

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

如果您参与科学,那么学习 gnuplot 对您来说非常有价值。它确实可以解决做excel情节的问题,并且可以简化制作包含在论文中的情节的任务。

其他提示

如果您正在寻找 C++ 库而不是像 gnuplot 这样的独立绘图工具,我会考虑以下内容:

迪斯林似乎是两者中更有趣的一个。以下是从维基百科文章中摘录的描述:

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

DISLIN 库包含用于将数据显示为曲线、条形图、饼图、3D 彩色图、曲面、等高线和地图的例程和函数。支持多种输出格式,例如 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 软件可免费用于非商业用途。

非常重的解决方案:你可以链接到 , ,它几乎可以做任何你想做的事情:

  • 可在 Mac、Windows 和 Linux 上运行
  • 编译运行或使用 cint interperter
  • 输出到封装的 postscript、PDF、gif、png 等文件中
  • 使用几种不同的技术显示到屏幕上
  • 以稍后可以操作的内部格式序列化数据

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

古老的GNU,他们拥有一切......

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

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

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

但是,正如其他人所指出的那样,最简单的方法是将数据保存到文本文件中,并使用其他程序生成图形。 gnuplot绝对是个不错的选择。它是大多数Linux发行版的标准配置,你可以在cygwin下获得Windows。

在C ++中为任何尚未执行此操作的人进行绘图。我会说我用C ++绘制Graphs的方法

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

  2. 在“C:\ Gnuplot”中提取它 然后我读了“C:\ Gnuplot \ gnuplot \ README.Windows”。 我得到了这些信息:

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

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

  5. 然后我关闭了我的电脑并再次打开它。在我发现它没有感觉到环境变量的变化之后:D

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

  7. 您将获得许多图表,选择合适的图表,自定义您的核心,并享受:)

如果您熟悉matplotlib,可以嵌入 python C / C ++应用程序。根据您的需要,这可能是一个快速的解决方案。

Chart Director 具有C ++绑定。我已经使用了他们的.Net库,我对他们非常满意。这是一个非常便宜的图书馆,让你有能力做各种各样的图表。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top