我能夠將 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
這是結果

如何洗掉那條煩人的線?
uj5u.com熱心網友回復:
這兩行:
int num = 139;
std::vector<double> xval(num 1), yval(num 1);
創建向量xval和yval140 個double初始化為0.
您只從資料集中加載 139 個點,資料集中的第一個點是(0,0); 所以你的第一個(第 0 個)和最后一個(第 139 個)點確實是相等的。你可以試試:
int num = 139;
std::vector<double> xval(num), yval(num);
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/461689.html
標籤:C 视窗 matplotlib 阴谋
上一篇:如何使用pandasdf覆寫多個snsdistplots或根據輔助變數更改顏色
下一篇:使用字典中的資料創建3D曲面圖
