matplotlib-cpp 连接数据集中的第一个点和最后一个点
matplotlib-cpp connecting first and last point in the data set
我能够 link matplotlib-cpp 到 visual studio。当我设置数据并绘制它时,除了第一个点和最后一个点被连接外,一切正常。我知道第一点和最后一点不一样。我的代码
#include <iostream>
#include <vector>
#include <cstdio>
#include "matplotlibcpp.h"
namespace plt = matplotlibcpp;
int main()
{
FILE *fp1;
fp1 = fopen("data1.tmp", "r");
int num = 139;
std::vector<double> xval(num + 1), yval(num + 1);
i = 0;
while (i < num)
{
fscanf(fp1, "%lf \t %lf\n", &xval[i], &yval[i]);
i++;
}
fclose(fp1);
plt::figure_size(1200, 780);
plt::plot(xval,y1val,"r--");
plt::show();
}
我的数据列表
0.000000 0.000000
0.005000 0.005000
0.010000 0.010000
0.015000 0.014999
0.020000 0.019999
0.025000 0.024997
0.030000 0.029996
0.035000 0.034993
0.040000 0.039989
0.045000 0.044985
0.050000 0.049979
0.055000 0.054972
0.060000 0.059964
0.065000 0.064954
0.070000 0.069943
0.075000 0.074930
0.080000 0.079915
0.085000 0.084898
0.090000 0.089879
0.095000 0.094857
0.100000 0.099833
0.105000 0.104807
0.110000 0.109778
0.115000 0.114747
0.120000 0.119712
0.125000 0.124675
0.130000 0.129634
0.135000 0.134590
0.140000 0.139543
0.145000 0.144492
0.150000 0.149438
0.155000 0.154380
0.160000 0.159318
0.165000 0.164252
0.170000 0.169182
0.175000 0.174108
0.180000 0.179030
0.185000 0.183947
0.190000 0.188859
0.195000 0.193767
0.200000 0.198669
0.205000 0.203567
0.210000 0.208460
0.215000 0.213347
0.220000 0.218230
0.225000 0.223106
0.230000 0.227978
0.235000 0.232843
0.240000 0.237703
0.245000 0.242556
0.250000 0.247404
0.255000 0.252245
0.260000 0.257081
0.265000 0.261909
0.270000 0.266731
0.275000 0.271547
0.280000 0.276356
0.285000 0.281157
0.290000 0.285952
0.295000 0.290740
0.300000 0.295520
0.305000 0.300293
0.310000 0.305059
0.315000 0.309816
0.320000 0.314567
0.325000 0.319309
0.330000 0.324043
0.335000 0.328769
0.340000 0.333487
0.345000 0.338197
0.350000 0.342898
0.355000 0.347590
0.360000 0.352274
0.365000 0.356949
0.370000 0.361615
0.375000 0.366273
0.380000 0.370920
0.385000 0.375559
0.390000 0.380188
0.395000 0.384808
0.400000 0.389418
0.405000 0.394019
0.410000 0.398609
0.415000 0.403190
0.420000 0.407760
0.425000 0.412321
0.430000 0.416871
0.435000 0.421410
0.440000 0.425939
0.445000 0.430458
0.450000 0.434966
0.455000 0.439462
0.460000 0.443948
0.465000 0.448423
0.470000 0.452886
0.475000 0.457338
0.480000 0.461779
0.485000 0.466208
0.490000 0.470626
0.495000 0.475032
0.500000 0.479426
0.505000 0.483807
0.510000 0.488177
0.515000 0.492535
0.520000 0.496880
0.525000 0.501213
0.530000 0.505533
0.535000 0.509841
0.540000 0.514136
0.545000 0.518418
0.550000 0.522687
0.555000 0.526943
0.560000 0.531186
0.565000 0.535416
0.570000 0.539632
0.575000 0.543835
0.580000 0.548024
0.585000 0.552199
0.590000 0.556361
0.595000 0.560509
0.600000 0.564642
0.605000 0.568762
0.610000 0.572867
0.615000 0.576959
0.620000 0.581035
0.625000 0.585097
0.630000 0.589145
0.635000 0.593178
0.640000 0.597195
0.645000 0.601198
0.650000 0.605186
0.655000 0.609159
0.660000 0.613117
0.665000 0.617059
0.670000 0.620986
0.675000 0.624897
0.680000 0.628793
0.685000 0.632673
0.690000 0.636537
0.695000 0.640385
0.700000 0.644218
这是结果
如何删除那条烦人的线?
这两行:
int num = 139;
std::vector<double> xval(num + 1), yval(num + 1);
创建向量 xval
和 yval
的 140 个 double
元素初始化为 0
.
您只从数据集中加载了 139 个点,数据集中的第一个点是 (0,0)
;所以你的第一个(第 0 个)和最后一个(第 139 个)点确实相等。你可以试试:
int num = 139;
std::vector<double> xval(num), yval(num);
我能够 link matplotlib-cpp 到 visual studio。当我设置数据并绘制它时,除了第一个点和最后一个点被连接外,一切正常。我知道第一点和最后一点不一样。我的代码
#include <iostream>
#include <vector>
#include <cstdio>
#include "matplotlibcpp.h"
namespace plt = matplotlibcpp;
int main()
{
FILE *fp1;
fp1 = fopen("data1.tmp", "r");
int num = 139;
std::vector<double> xval(num + 1), yval(num + 1);
i = 0;
while (i < num)
{
fscanf(fp1, "%lf \t %lf\n", &xval[i], &yval[i]);
i++;
}
fclose(fp1);
plt::figure_size(1200, 780);
plt::plot(xval,y1val,"r--");
plt::show();
}
我的数据列表
0.000000 0.000000
0.005000 0.005000
0.010000 0.010000
0.015000 0.014999
0.020000 0.019999
0.025000 0.024997
0.030000 0.029996
0.035000 0.034993
0.040000 0.039989
0.045000 0.044985
0.050000 0.049979
0.055000 0.054972
0.060000 0.059964
0.065000 0.064954
0.070000 0.069943
0.075000 0.074930
0.080000 0.079915
0.085000 0.084898
0.090000 0.089879
0.095000 0.094857
0.100000 0.099833
0.105000 0.104807
0.110000 0.109778
0.115000 0.114747
0.120000 0.119712
0.125000 0.124675
0.130000 0.129634
0.135000 0.134590
0.140000 0.139543
0.145000 0.144492
0.150000 0.149438
0.155000 0.154380
0.160000 0.159318
0.165000 0.164252
0.170000 0.169182
0.175000 0.174108
0.180000 0.179030
0.185000 0.183947
0.190000 0.188859
0.195000 0.193767
0.200000 0.198669
0.205000 0.203567
0.210000 0.208460
0.215000 0.213347
0.220000 0.218230
0.225000 0.223106
0.230000 0.227978
0.235000 0.232843
0.240000 0.237703
0.245000 0.242556
0.250000 0.247404
0.255000 0.252245
0.260000 0.257081
0.265000 0.261909
0.270000 0.266731
0.275000 0.271547
0.280000 0.276356
0.285000 0.281157
0.290000 0.285952
0.295000 0.290740
0.300000 0.295520
0.305000 0.300293
0.310000 0.305059
0.315000 0.309816
0.320000 0.314567
0.325000 0.319309
0.330000 0.324043
0.335000 0.328769
0.340000 0.333487
0.345000 0.338197
0.350000 0.342898
0.355000 0.347590
0.360000 0.352274
0.365000 0.356949
0.370000 0.361615
0.375000 0.366273
0.380000 0.370920
0.385000 0.375559
0.390000 0.380188
0.395000 0.384808
0.400000 0.389418
0.405000 0.394019
0.410000 0.398609
0.415000 0.403190
0.420000 0.407760
0.425000 0.412321
0.430000 0.416871
0.435000 0.421410
0.440000 0.425939
0.445000 0.430458
0.450000 0.434966
0.455000 0.439462
0.460000 0.443948
0.465000 0.448423
0.470000 0.452886
0.475000 0.457338
0.480000 0.461779
0.485000 0.466208
0.490000 0.470626
0.495000 0.475032
0.500000 0.479426
0.505000 0.483807
0.510000 0.488177
0.515000 0.492535
0.520000 0.496880
0.525000 0.501213
0.530000 0.505533
0.535000 0.509841
0.540000 0.514136
0.545000 0.518418
0.550000 0.522687
0.555000 0.526943
0.560000 0.531186
0.565000 0.535416
0.570000 0.539632
0.575000 0.543835
0.580000 0.548024
0.585000 0.552199
0.590000 0.556361
0.595000 0.560509
0.600000 0.564642
0.605000 0.568762
0.610000 0.572867
0.615000 0.576959
0.620000 0.581035
0.625000 0.585097
0.630000 0.589145
0.635000 0.593178
0.640000 0.597195
0.645000 0.601198
0.650000 0.605186
0.655000 0.609159
0.660000 0.613117
0.665000 0.617059
0.670000 0.620986
0.675000 0.624897
0.680000 0.628793
0.685000 0.632673
0.690000 0.636537
0.695000 0.640385
0.700000 0.644218
这是结果
如何删除那条烦人的线?
这两行:
int num = 139;
std::vector<double> xval(num + 1), yval(num + 1);
创建向量 xval
和 yval
的 140 个 double
元素初始化为 0
.
您只从数据集中加载了 139 个点,数据集中的第一个点是 (0,0)
;所以你的第一个(第 0 个)和最后一个(第 139 个)点确实相等。你可以试试:
int num = 139;
std::vector<double> xval(num), yval(num);