Можно ли достичь характеристик в этой линейной диаграмме, используя встроенный компонент диаграмм Adobe во Flex? - PullRequest
1 голос
/ 13 января 2012

Я новичок в Flex / AS3. Я приложил пример линейной диаграммы ниже. Я хочу знать, может ли этот тип графика быть создан с использованием стандартной диаграммы серии линий, доступной во Flex (Flash Builder 4.6), или есть что-то нарисованное ниже, которое является нестандартным и поэтому потребует некоторой довольно сложной настройки. Ключевые особенности:

  1. Различные стили и цвета линий (пунктирная, пунктирная, сплошная, толстая, тонкая, непрозрачная)
  2. Размещение единиц (ось Y «секунды» и ось X «Гц»)
  3. Панель управления масштабированием / панорамированием по оси X под графиком (сдвигайте ручки внутрь и наружу, чтобы установить минимальные и максимальные значения по оси X)
  4. Логарифмическая шкала оси X, линейная шкала оси Y
  5. Подсказка данных (или, как некоторые называют это подсказка, не показанная ниже)
  6. Единицы СИ для тиковых меток по осям X и Y.

Я полагаю, что все должно быть достаточно стандартным, чтобы достичь этого с помощью встроенных диаграмм Adobe (с возможным исключением пункта 6, см. Ниже). Это хорошее предположение?

Я особенно обеспокоен тиковыми метками по осям X и Y (пункт 6). Например, отметки оси X в виде числа будут:

1, 10, 100, 1000, 10000, 100000, 1000000, 10000000

но их необходимо заменить на единицы СИ, где k = 1000, а M = 1000000, поэтому соответствующие метки будут (замена чисел выше приведенными строками)

"1", "10", "100", "1k", "10k", "1M", "10M"

То же самое касается оси y, где p представляет 1e-12, а n представляет 1e-9.

Я могу создать алгоритм, который принимает число и выводит строку для преобразования единиц СИ. Но, учитывая это, есть ли способ легко управлять метками галочек, чтобы заменить номера по умолчанию такими строками? Любые комментарии высоко ценится.

Proposed Line Chart (just for example)

Ответы [ 2 ]

3 голосов
/ 13 января 2012

Все эти функции могут быть реализованы с помощью библиотеки Flex Charts, включенной в Flex SDK.

  1. Различные стили линий
  2. (Не уверен, где определенно установлен, нуждается в поиске)
  3. Создание пользовательского компонента и привязка к minimum и maximum оси.
  4. Использовать LogAxis
  5. Пользовательские подсказки данных
  6. Пользовательские средства визуализации осей
1 голос
/ 13 января 2012

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

Различные стили линий и цвета (пунктирная, пунктирная, сплошная, толстая, тонкая, непрозрачность)

Толщина, цвет и непрозрачность - это встроенные функции.Пунктирные линии могут быть реализованы, например, с помощью этой ссылки .

Размещение единиц (ось Y "секунд" и ось X "Гц")

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

Панель управления масштабированием / панорамированием по оси X под графиком (перемещайте ручки внутрь и наружу, чтобы установить минимальные и максимальные значения оси xзначения)

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

Записать масштаб оси x, линейный масштаб оси y

LogAxis является частьюфреймворк Flex Charting, поэтому здесь нет проблем.

Подсказка данных (или, как ее называют некоторые, подсказка к инструменту, не показанная ниже)

Как пишет Тимофей Давыдик, всплывающие подсказки данных можно настраивать.1024 * единицы СИ для тиковых меток по осям x и y.

Пользовательскую функцию метки можно также использовать для настройки способа отображения ваших данных.

Заключение

ЕслиЯ был вами, я бы предпочел другую технологию.Платформа Flex Chart сейчас немного устарела, некоторое время не обновлялась, и, поскольку Flex SDK был «заброшен» (или, как говорится, передан фонду с открытым исходным кодом), дальнейшее обновление не будет.DyGraph (который написан на JavaScript), по моему мнению, является хорошим решением для обработки больших наборов данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...