2016-08-12 6 views
0

При использовании Delphi Seattle 10 и Steema TeeChart Pro VCL FMX 2016.18 я ищу, чтобы выделить выделение линейного графика (несколько рядов) таким образом, чтобы масштабирование позволяет/делает квадрат вокруг выделенного выбора линейного графика, чтобы указать, какая часть его для увеличения (пока выполняется действие onmousedown).Какой инструмент TeeChart можно использовать для интерактивного выбора точек из графика FastLine

Целью этого было бы позволить выделить выделение, пока мышь больше не будет нажата, чтобы потенциально «удалить» выделенные точки данных. Все, что мне нужно, это получить (X0 Y0 X1 Y1) значения, чтобы, возможно, получить CalcPosPoint (X) и удалить все точки внутри. Данные в настоящее время получены через файл Record Struct (Memory Mapped), и он будет использоваться для установки/проверки свойства «удалено», чтобы указать на следующем перерисовке графика, строки которого полностью игнорируются и которые необходимо продолжить печать.

enter image description here

Я надеюсь, что смогу сделать это (выбрать из 1 графика), и он одновременно рисовать на нескольких графиках. Я попытался найти пример этой функции с помощью TSelectorTool (FMXTee). Одна из страниц, которые я нашел со ссылкой на такой инструмент, - Interactive data point selection, а также Multiple selections with Selector Tool

И мой второй вопрос касается непосредственно TeeCharts. Где я могу найти fmx240.bpl, так как TeeChart_Pro_Firemonkey_Demo.exe требует этот файл для запуска? Мне удалось скопировать vcl240.bpl из "Embarcadero \ Studio \ 18.0 \ Bin" и поместить его в "Embarcadero \ Studio \ 17,0 \ Bin"

[Изменено]

мне удалось захватить/создайте образец кода (MVCE), из которого я теперь могу выбрать часть и создать квадрат вокруг определенного образца линий графика. График управления сейчас является нижним графиком (Chart5). Если кто-то заинтересован в просмотре кода, я поставил образец pastebin.

PasteBin Sample Code

И TeeCharts.tar.gz доступен для тех, кто хочет видеть образец кода, а также выборку данных. не

filetolink.com Source Files

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

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

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

+0

Как разработчик, я думаю, вы сможете найти свой диск, чтобы найти файл в папках 18.0 \ bin, 18.0 \ bin64, 18.0 \ Redist \ Win32 или 18.0 \ Redist \ Win64. –

+0

Я использую Studio \ 17.0, и в отношении последнего все, что я вижу, это Studio \ 18.0 \ Bin и Studio \ 18.0 \ License (vcl240.bpl из Studio \ 18.0 \ Bin) –

+0

Как я уже сказал, есть копия fmx240.bpl в папке 18.0 \ bin. Вы используете пробную версию 18? –

ответ

0

Я думаю, что нашел решение.Красные квадраты только преобладают для визуального аспекта, их можно нарисовать, мне не нужно ничего делать с каждой диаграммой, поскольку я уже знаю, что такое параметры X0..Y1, они известны из начальной диаграммы , Проблема h/e связана с начальной диаграммой. Пока все экраны заполнены, я могу правильно масштабировать/выравнивать по всем диаграммам (ZoomRect/Rectf (X0..Y1))

Но какое уравнение потребуется для настройки диаграмм, которые не находятся в том же увеличении/макс/мин, когда Chart5.Axes.Bottom.Automatic = True?

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