【问题标题】:How to draw a plot chart using visual studio c++如何使用 Visual Studio C++ 绘制绘图图表
【发布时间】:2017-06-09 01:42:12
【问题描述】:

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

【问题讨论】:

标签: c++ visual-studio graph


【解决方案1】:

1) 签出 Microsoft vcpkg 并将其安装到新文件夹(请参阅此处的 1 步说明:https://github.com/Microsoft/vcpkg

2) vcpkg.exe 从 vcpkg 文件夹安装 plplot

3) vcpkg.exe 集成项目 将指导您将 plplot 添加到您的 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 上测试

【讨论】:

  • “在 NugetConsole 中粘贴这条指令”... 并没有提供任何指令。
  • @SembeiNorimaki 看看 3)
【解决方案2】:

几年前我回答了一个非常相似的问题...有一个简单、直接且可编译的示例: Graphical representation - Data Distribution

显然,图表与您需要的不一样。但是你可以修改它,以便使用 C++ 绘制任何你想要的东西,然后制作任何图表。

【讨论】:

    【解决方案3】:

    绘图在 C++ 中有点棘手,因为在任何 C++ IDE 中都没有可用的默认绘图库。但是,有许多在线库可用于使 C++ 中的绘图成为可能。一些绘图工具,如 Gnuplot、PPlot、Matlab、Python、KoolPlot(可能足以满足您的要求)。

    几天前我已经回答了一个类似的问题 (plotting package for c++)。答案可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-15
      相关资源
      最近更新 更多