How can i get exact data from a figure?
2 views (last 30 days)
Show older comments
0 Comments
Answers (3)
Morgan
on 20 Jan 2024
I'm assuming you're talking about extracting data from a picture of a figure, you can use something like WebPlotDigitizer. It's rather accurate in my experience and has a nice automatic data extraction feature.
Sulaymon Eshkabilov
on 20 Jan 2024
Obtain data from the existign MATLAB figure, e.g.:
open('Exercise_1.fig')
xd = get(get(gca,'children'),'xdata'); % Obtain xdata from the plot figure
yd = get(get(gca,'children'),'ydata'); % Obtain ydata from the plot figure
x = linspace(min(xd), max(xd), 200); % Resample x data
y = interp1(xd, yd, x); % Interpolate obtained data @ x resampled data
hold on
plot(x,y, 'r-.', 'LineWidth', 1)
legend('Original Figure Data', 'Obtained and Interpolated', 'Location', 'NW')
Sulaymon Eshkabilov
on 20 Jan 2024
Here is the fit model computed using your data:
D = [0 0
93.07876 0.224404
186.1575 0.476858
262.5298 0.729313
303.1026 0.869565
310.2625 1.290323
319.8091 1.598878
329.3556 1.486676
341.2888 1.318373
353.222 1.542777
362.7685 1.851332
372.315 2.103787
377.0883 2.412342
381.8616 2.664797
386.6348 2.889201
391.4081 3.169705
396.1814 3.45021
400.9547 3.702665
408.1146 3.98317
410.5012 4.235624
415.2745 4.460028
420.0477 4.712482
424.821 4.964937
446.3007 5.021038
467.7804 5.105189
477.327 5.329593
484.4869 5.553997
494.0334 5.778401
501.1933 5.946704
508.3532 6.143058
515.5131 6.367461
522.673 6.563815
529.8329 6.788219
536.9928 7.040673
544.1527 7.265077
548.926 7.517532
556.0859 7.798036
565.6325 8.078541
572.7924 8.387097
579.9523 8.695652
589.4988 9.004208
594.2721 9.284712
601.432 9.565217
606.2053 9.817672
613.3652 10.07013
625.2983 9.901823
637.2315 9.677419
649.1647 9.509116
663.4845 9.340813
675.4177 9.11641
684.9642 9.340813
692.1241 9.565217
696.8974 9.817672
704.0573 10.07013
706.4439 10.18233
718.3771 10.26648
720.7637 10.49088
723.1504 10.63114
725.537 10.79944
727.9236 10.96774
730.3103 11.1641
732.6969 11.41655
735.0835 11.64095
737.4702 11.86536
739.8568 12.08976
742.2434 12.37027
744.6301 12.62272
747.0167 12.84712
751.79 13.09958
756.5632 13.29593
761.3365 13.54839
766.1098 13.77279
770.8831 13.99719
775.6563 14.2216
780.4296 14.446
785.2029 14.69846
789.9761 14.89481
792.3628 15.11921
797.136 15.28752
801.9093 15.45582
806.6826 15.68022
811.4558 15.84853
813.8425 16.10098
818.6158 16.32539
828.1623 16.63394
830.5489 16.91445
835.3222 17.13885
840.0955 17.36325
844.8687 17.64376
852.0286 17.89621
875.895 17.89621
890.2148 17.89621
902.148 17.89621
918.8544 17.89621
926.0143 17.89621
933.1742 17.75596
940.3341 17.58766
947.494 17.3913
952.2673 17.223
954.6539 17.0547
964.2005 16.91445
971.3604 16.69004
978.5203 16.46564
985.6802 16.24123
995.2267 15.98878
1002.387 15.79243
1009.547 15.53997
1016.706 15.31557
1028.64 15.03506
1033.413 14.78261
1035.8 14.5582
1038.186 14.36185
1040.573 14.1655
1042.959 13.94109
1045.346 13.74474
1047.733 13.52034
1050.119 13.32398
1052.506 13.09958
1054.893 12.90323
1059.666 12.65077
1062.053 12.39832
1064.439 12.14586
1069.212 11.80926
1071.599 11.5568
1076.372 11.3324
1078.759 11.07994
1083.532 10.85554
1090.692 10.63114
1097.852 10.32258
1107.399 10.07013
1109.785 9.873773
1112.172 9.649369
1114.558 9.453015
1116.945 9.284712
1114.558 9.088359
1116.945 8.920056
1116.945 9.11641
1119.332 9.284712
1121.718 9.453015
1121.718 9.621318
1121.718 9.789621
1124.105 10.01403
1124.105 10.21038
1126.492 10.40673
1133.652 10.40673
1136.038 10.23843
1138.425 10.09818
1145.585 9.929874
1145.585 9.70547
1147.971 9.509116
1147.971 9.284712
1147.971 9.14446
1152.745 8.948107
1155.131 8.723703
1157.518 8.499299
1162.291 8.274895
1167.064 7.99439
1171.838 7.798036
1171.838 7.573633
1171.838 7.293128
1176.611 7.040673
1178.998 6.788219
1181.384 6.591865
1183.771 6.367461
1186.158 6.171108
1188.544 5.974755
1190.931 5.778401
1195.704 5.525947
1198.091 5.357644
1200.477 5.217391
1200.477 5.077139
1202.864 5.13324
1202.864 5.301543
1205.251 5.441795
1202.864 5.553997
1202.864 5.778401
1202.864 6.030856
1202.864 6.227209
1205.251 6.395512
1205.251 6.591865
1205.251 6.84432
1205.251 7.040673
1207.637 7.237027
1207.637 7.489481
1210.024 7.657784
1210.024 7.826087
1214.797 7.826087
1214.797 7.713885
1214.797 7.573633
1217.184 7.461431
1217.184 7.293128
1221.957 7.096774
1221.957 6.816269
1226.73 6.619916
1229.117 6.367461
1231.504 6.143058
1243.437 6.058906
1245.823 5.890603
1248.21 5.638149
1252.983 5.385694
1252.983 5.189341
1255.37 4.908836
1260.143 4.684432
1260.143 4.460028
1264.916 4.235624
1267.303 4.01122
1272.076 3.814867
1276.85 3.955119
1281.623 4.123422
1286.396 4.235624
1291.169 4.347826
1295.943 4.431978
1303.103 4.291725
1305.489 4.123422
1307.876 3.955119
1310.263 3.786816
1315.036 3.562412
1315.036 3.281907
1315.036 3.057504
1319.809 2.8331
1317.422 2.524544
1319.809 2.215989
1322.196 1.991585
1322.196 1.71108
1324.582 1.514727
1324.582 1.234222
1324.582 1.009818
1329.356 1.093969
1334.129 1.262272
1338.902 1.430575
1343.675 1.654979
1348.449 1.823282
1353.222 1.963534
1357.995 2.103787
1362.768 2.215989
1367.542 2.328191
1372.315 2.131837
1372.315 1.935484
1379.475 1.767181
1381.862 1.598878
1384.248 1.430575
1386.635 1.262272
1389.021 1.093969
1403.341 1.12202
1420.048 1.206171
1439.141 1.290323
1460.621 1.374474
1477.327 1.430575
1486.874 1.430575
498.807 1.234222
1510.74 1.037868
1520.286 0.785414
1529.833 0.56101
1539.379 0.392707
1548.926 0.252454
553.699 0.112202
1558.473 0 ];
[x, IDX] = sort(D(:,1));
y = D(IDX, 2);
yy = smoothdata(y, 'gaussian', 5);
plot(x,yy, 'b--', 'LineWidth', 2)
hold on
FUN = @(a, x) a(1) * exp(-((x - a(2)) / a(3)).^2); % Gaussian model
a0 = [15; 777; 333]; % Initial guess values for a
MODEL = fitnlm(x, yy, FUN, a0)
plot(x, MODEL.Fitted, 'm-', 'LineWidth', 2);
legend('Data', 'Gaussian Fit Model')
grid on
xlabel('Time, [s]')
ylabel('Depth, [m]')
0 Comments
See Also
Categories
Find more on Data Acquisition Toolbox Supported Hardware in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!