如何使用Visual Studio C++绘制绘图图

jtoj6r0c  于 2023-04-07  发布在  其他
关注(0)|答案(4)|浏览(484)

我想使用Visual Studio和C++代码创建一个绘图图表。图表应该基于两个轴。“x”轴显示时间,“y”轴显示数组数据。数组数据有100个元素,一秒内读取一个数据。我如何使用任何其他图形库实现代码?

s5a0g9ez

s5a0g9ez1#

  1. checkout 并将Microsoft vcpkg安装到新文件夹(请参阅此处的一步说明:https://github.com/Microsoft/vcpkg
    2)vcpkg.exe安装plplplot从vcpkg文件夹
    3)vcpkg.exe集成项目将为您提供将plplplot添加到MSVC项目的说明
    4)将此说明粘贴到Nuget控制台:

5)在你粘贴和项目重新加载后,你可以尝试以下代码:

#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <cstring>
#include <cmath>
#include "plplot\plstream.h"
using namespace std;
const int NSIZE = 101;
int main(int argc, char ** argv) {
    PLFLT x[NSIZE], y[NSIZE];
    PLFLT xmin = 0., xmax = 1., ymin = 0., ymax = 100.;
    int   i;
    for (i = 0; i < NSIZE; i++) {
        x[i] = (PLFLT)(i) / (PLFLT)(NSIZE - 1);
        y[i] = ymax * x[i] * x[i];
    }
    auto pls = new plstream();
    plsdev("wingcc");
    pls->init();
    pls->env(xmin, xmax, ymin, ymax, 0, 0);
    pls->lab("x", "y=100 x#u2#d", "Simple PLplot demo of a 2D line plot");
    pls->line(NSIZE, x, y);
    delete pls;
}

你会得到:

在MSVC2015上测试

khbbv19g

khbbv19g2#

几年前我回答了一个非常类似的问题......有一个简单,直接和可编译的例子:图示-数据分布
显然,这个图表不是你需要的那个,但是你可以修改它,用C++画出你想要的任何东西,然后制作任何图表。

izj3ouym

izj3ouym3#

在C中绘图是一项有点棘手的工作,因为在任何C IDE中都没有默认的绘图库。但是,有许多在线库可以在C中进行绘图。一些绘图工具,如Gnuplot,PPlot,Matlab,Python,KoolPlot(可能足以满足您的要求)。
几天前我已经回答了一个类似的问题(c
的绘图包)。答案可能会有帮助。

3ks5zfa0

3ks5zfa04#

我刚刚决定使用gnuplot lol(尽管你需要wslg)。
将数据从msvc程序写入文本文件。

# data.dat
# X   Y
  1   2
  2   3
  3   2
  4   1

复制粘贴此gpuplot代码:

# plot.plt
# Set linestyle 1 to blue (#0060ad)
set style line 1 \
    linecolor rgb '#0060ad' \
    linetype 1 linewidth 2 \
    pointtype 7 pointsize 1.5

plot 'data.dat' with linespoints linestyle 1

在wsl运行中:

gpuplot -p plot.plt

相关问题