Page 1 of 1

Chart - Построить прямую по двум точкам

PostPosted: 11 Jan 2020, 05:23
by jane_wild
Всем здравствуйте. Ребята помогите построить прямую на Chart, проходящую через две точки, которые "ставятся щелчками мышки".
Т.е. На Chart (именно Chart, а не Graph) юзер щелкает мышкой раз, запоминаются координаты первой точки, щелкает второй раз - второй. И через указанные точки строится прямая линия. Не знаю как координаты в пикселях переконвертировать в значения соответствующие X(time) и Y(amplitude), а затем построить массив, добавить его к двум существующим и отобразить его на Chart. Посмотрите вложеный :vi: , а также картинку, что бы было более понятно чего хочу добится в итоге. Этот :vi: только для демонстрации и понимания, и ничего общего с реальным проектом не имеет, поэтому не судите строго за его бессмысленность. Заранее спасибо.
Build Line.png

Re: Chart - Построить прямую по двум точкам

PostPosted: 11 Jan 2020, 18:21
by Artem.spb
Метод-конвертор, как и в случае с другими графиками
chart.png

Re: Chart - Построить прямую по двум точкам

PostPosted: 13 Jan 2020, 00:11
by taras_33
Например вот так. Лучше использовать событие mouse down? вместо mouse up, тогда можно проверить, что юзер кликнул в plot area и игнорировать, если мышиный клик произошел за её пределами.
Math.jpg

Re: Chart - Построить прямую по двум точкам

PostPosted: 14 Jan 2020, 14:34
by jane_wild
Например вот так.

Спасибо большое, то что нужно. Буду пытаться внедрить в свой проект. Скажите а можно каки то образом отобразить точкой или маленьким кружочком место, где щелкнул поьзователь?

Re: Chart - Построить прямую по двум точкам

PostPosted: 14 Jan 2020, 17:50
by Artem.spb
[quote=="jane_wild"] можно каки то образом отобразить точкой или маленьким кружочком место, где щелкнул поьзователь?[/quote]
был бы это не чарт, можно было бы картинку нарисовать.
или курсор запустить. Или ещё много чего...
А тут мне на ум приходит один вариант а двух исполнениях.
Взять доп. плот, который будет состоять из nan-ов. И только одна точка будет осмысленной. Этот плот, соответственно, отображается только точками, без соединительных линий.
Потом его можно оставить в качестве индикаторов двух точек.
Второй вариант этого же - использовать тот плот, что отвечает за прямую - временно поменять его настройки отображения.
А потом вернуть обратно - когда прямая готова
chart.png
chart.png (23.62 KiB) Viewed 453 times

Re: Chart - Построить прямую по двум точкам

PostPosted: 14 Jan 2020, 20:11
by kiparym
Похожая тема обсуждалась здесь.
viewtopic.php?f=106&t=8268#p65958

Re: Chart - Построить прямую по двум точкам

PostPosted: 15 Jan 2020, 02:05
by jane_wild
Взять доп. плот, который будет состоять из nan-ов. И только одна точка будет осмысленной. Этот плот, соответственно, отображается только точками, без соединительных линий.
Потом его можно оставить в качестве индикаторов двух точек.


Пожалуй этот вариант предпочтительноей, можно будет созерцать две точки и проходящую через них прямую. Спасибо