在C++中绘制散点图的最佳方法是什么?
您是否将数据写入文件并使用其他工具?在Python中是否有类似matplotlib的库?
我总是写出数据,然后使用gnuplot创建我的图形.到目前为止,这是我发现以各种格式生成图形的最佳方式:eps,png,jpeg,xpm,你可以命名它.
gnuplot
很容易做散点图.如果x
和y
值在2个以空格分隔的列中,那么
plot "data.txt" using 1:2
会给你一个快速散点图.然后你可以调整它,什么不使用其他gnuplot命令.
如果你参与科学,那么学习gnuplot
对你来说将是非常有价值的.它确实可以解决做excel情节的问题,并且可以简化制作包含在论文中的情节的任务.
如果你正在寻找一个C++库而不是像gnuplot这样的独立绘图工具,我会考虑以下内容:
Koolplot
dislin(关于dislin的维基百科文章)
迪斯林似乎是两者中更有趣的.以下是从维基百科文章中提取的描述:
DISLIN是由Helmut Michels在德国Katlenburg-Lindau的Max Planck研究所开发的高级且易于使用的绘图库.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软件可免费用于非商业用途.
非常重的解决方案:你可以链接ROOT,它可以做你想要的任何事情:
在Mac,Windows和Linux上运行
运行编译或使用cint interperter
输出到封装的postscript,PDF,gif,png中的文件...
使用几种不同的技术显示在屏幕上
以内部格式序列化数据,以后可以进行操作
当然,它对大多数人来说有点多,但它确实完全符合您的要求.我使用它是因为我知道它已经在我的机器上因为我就是那种物理学家.
好老GNU,他们拥有一切......
http://directory.fsf.org/project/plotutils/