Добавить определенные линии в график Excel

Добавить определенные линии в график Excel

У меня есть большой набор точек данных x и y в таблице Excel, которые описывают потенциал Морзе. (см. связанное изображение ниже). Но не хватает красных линий

У меня есть точки данных Y для линий (это отдельные значения энергии), но я не могу придумать, как реализовать их на моем графике так, чтобы они создали линию, пересекающую синюю линию (реальный потенциал) в двух точках.

Epot [kJ/mol]  (y-data points)                      
216,424964
197,922574
180,7103153
164,7115481
149,853914
136,0691033
123,2926348
111,4636475
100,5247031
90,42159993
81,10319572
72,52124097
64,63022064
57,38720461
50,75170607
44,68554761
39,15273452
34,11933483
29,55336596
25,42468734
21,70489895
18,36724522
15,38652423
12,73900178
10,40233006
8,355470767
6,578622431
5,053151582
3,761527717
2,68726178
1,814847975
1,129708756
0,618142794
0,267275786
0,06501394
0
0,239722267
0,908790996
1,938903776
3,270072396
4,849698344
6,631747169
8,576011343
10,64745232
12,81561344
15,05409624
17,34009348
19,65397284
21,97890602
24,30053839
26,60669481
28,88711796
31,13323549
33,33795312
35,49547079
37,60111944
39,65121619
41,64293594
43,57419761
45,44356353
47,2501503
48,99355026
50,673762
52,29112922
53,8462869
55,34011397
56,77369175
58,14826762
59,46522316
60,72604644
61,93230783
63,08563907
64,18771507
65,24023833
66,24492546
67,20349568
68,11766105
68,98911822
69,81954145
70,61057689
71,3638378
72,08090069
72,76330228
73,41253706
74,03005555
74,61726293
75,17551826
75,70613399
76,21037579
76,68946271
77,14456755
77,57681739
77,98729437
78,37703651
78,74703871
79,09825379
79,43159368
79,74793051
80,04809793
80,33289231
80,603074
80,85936864
81,10246839
81,3330332
81,55169208
81,7590443
81,95566062
82,14208445
82,31883299
82,48639841
82,64524885
82,79582955
82,93856386
83,07385417
83,20208295
83,3236136
83,43879137
83,54794419
83,65138349
83,74940502
83,84228954
83,93030359
84,01370015
84,09271931
84,1675889
84,2385251
84,30573301
84,36940718
84,42973217
84,48688303
84,54102575
84,59231779
84,64090841
84,68693919
84,73054431
84,77185104
84,81097998
84,8480455
84,88315598
84,91641417
84,94791746
84,97775813
85,00602366
85,03279697
85,05815659
85,08217699
85,10492872
85,12647862
85,14689003
85,16622299
85,18453434
85,20187799
85,21830497
85,23386366
85,24859987
85,26255702
85,27577624
85,28829649
85,30015468
85,31138578
85,32202291
85,33209744
85,34163911
85,35067608
85,359235
85,36734115
85,37501847
85,38228961
85,38917605
85,39569814
85,40187513
85,40772527
85,41326586
85,41851325
85,42348296
85,42818967
85,4326473
85,43686902
85,4408673
85,44465398
85,44824024
85,45163669
85,45485337
85,45789979
85,46078497
85,46351743
85,46610525
85,4685561
85,47087721
85,47307546
85,47515734
85,47712901
85,47899632
85,48076477
85,48243961
85,48402578
85,48552799
85,48695067
85,48829803
85,48957407
85,49078255
85,49192706
85,49301098
85,49403751
85,49500969
85,49593041
85,49680238
85,49762819
85,49841028
85,49915096
85,49985243
85,50051676
85,50114592
85,50174177
85,50230607 

   r [pm] (x-data points)
-70
-68
-66
-64
-62
-60
-58
-56
-54
-52
-50
-48
-46
-44
-42
-40
-38
-36
-34
-32
-30
-28
-26
-24
-22
-20
-18
-16
-14
-12
-10
-8
-6
-4
-2
0
4
8
12
16
20
24
28
32
36
40
44
48
52
56
60
64
68
72
76
80
84
88
92
96
100
104
108
112
116
120
124
128
132
136
140
144
148
152
156
160
164
168
172
176
180
184
188
192
196
200
204
208
212
216
220
224
228
232
236
240
244
248
252
256
260
264
268
272
276
280
284
288
292
296
300
304
308
312
316
320
324
328
332
336
340
344
348
352
356
360
364
368
372
376
380
384
388
392
396
400
404
408
412
416
420
424
428
432
436
440
444
448
452
456
460
464
468
472
476
480
484
488
492
496
500
504
508
512
516
520
524
528
532
536
540
544
548
552
556
560
564
568
572
576
580
584
588
592
596
600
604
608
612
616
620
624
628
632
636
640
644
648
652
656
660
664
668
672
676
680
684
688
692
696
700
704
708
712
716

Я добавил свои данные выше, так что можете попробовать сами.

Теперь конкретные уровни энергии, для которых мне нужны горизонтальные линии, пересекающие потенциальный график:

Epot [kJ/mol]

0,708612083
2,116985012
3,51355629
4,898325918
14,26126709
26,63375702
37,82608187
47,83824165

Есть ли у кого-нибудь идеи, как решить эту проблему?

Вот как это должно выглядеть на самом деле:

Вот как это должно выглядеть на самом деле

решение1

Для этого необходимо найти две точки x-данных для каждого из уровней энергии y-данных путем интерполяции.

(Не совсем! Перейдите кРЕДАКТИРОВАТЬ:ниже.)

Это можно сделать, введя вручную две формулы на каждом уровне энергии, например, для большего значения x первого уровня энергии:

=A39+(A40-A39)*(E11-B39)/(B40-B39)

...но вы также можете использовать функцию Excel FORECAST(). Она имеет вид:

=FORECAST(x,known_y's,known_x's)

Однако, немного утомительно (мягко говоря) писать формулу, которая будет выдавать два значения по обе стороны от Epot (известные y) и два соответствующих r (известные x).

Эта формула, заполненная из D3 в таблице ниже, дает r, где r отрицательно:

=FORECAST(F3,INDEX(A$17:A$38,MATCH(F3,B$17:B$38,-1)):INDEX(A$17:A$38,MATCH(F3,B$17:B$38,-1)+1),INDEX(B$17:B$38,MATCH(F3,B$17:B$38,-1)):INDEX(B$17:B$38,MATCH(F3,B$17:B$38,-1)+1))

а этот, заполненный из D11, дает остальное:

=FORECAST(F11,INDEX(A$38:A$65,MATCH(F11,B$38:B$65,1)):INDEX(A$38:A$65,MATCH(F11,B$38:B$65,1)+1),INDEX(B$38:B$65,MATCH(F11,B$38:B$65,1)):INDEX(B$38:B$65,MATCH(F11,B$38:B$65,1)+1))

РЕДАКТИРОВАТЬ:Я понял, что, поскольку ваши точки данных расположены так близко друг к другу, интерполяция, вероятно, излишняя. Очень разумное приближение — просто найти ближайшие точки данных x. Эти две (гораздо более простые) формулы делают это:

=INDEX(A$17:A$38,MATCH(F3,B$17:B$38,-1))для отрицательного r

=INDEX(A$38:A$65,MATCH(F11,B$38:B$65,1))для положительного r

Вот таблица данных, показывающая результаты для обеих формул интерполированного и ближайшего значения. Учитывая мелкое расположение данных, разница составляет менее пикселя на графике:

введите описание изображения здесь

Вот график с добавленными 8 горизонтальными линиями:

введите описание изображения здесь

Каждая красная линия представляет собой отдельную серию с двумя парами точек данных, например, (E3,E18)для значений x и (F3,F18)для значений y самого высокого уровня энергии.

Вот увеличенное изображение, демонстрирующее ошибки, возникающие при использовании аппроксимации.

введите описание изображения здесь

Если вам нужна большая точность, вы можете воспользоваться приведенными выше формулами интерполяции, которые дают следующий график:

введите описание изображения здесь

Надеюсь, это поможет, и удачи.

Примечание: если вы скопируете данные для горизонтальных линий, затем выберите Специальная вставка... > Значения и отсортируете данные от большего к меньшему (как показано ниже), это упростит добавление линий в график. Вы должны иметь возможность выбрать Добавить данные... в меню графика, затем выбрать группу из 4 ячеек.

введите описание изображения здесь

Связанный контент