JavaFX 8.0

Пакет javafx.scene.chart

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

См.: Описание

Пакет javafx.scene.chart Описание

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

Типы Commom диаграмм такой как Bar, Line, Area, Pie, Scatter и Bubble диаграммы обеспечиваются. Эти таблицы легко составить и настраиваемы. API Диаграмм JavaFX является визуальным центральным API, а не центральной моделью.

Диаграммы JavaFX поддерживают анимацию компонентов диаграммы так же как автоматическое расположение Оси диаграммы. Кроме того, как с другим JavaFX средства управления UI, стройте диаграмму, визуальные компоненты могут быть разработаны через CSS. Таким образом есть несколько общедоступных визуальных свойств, которые могут быть разработаны через CSS. Пример обеспечивается позже в документе.

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

Диаграмма

Сводка

LineChart

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

AreaChart

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

BarChart

Графически изображает прямоугольных панелей с высотами, указывающими на значения данных, которые они представляют, и соответствие категориям, которым они принадлежат. Используемый для того, чтобы вывести на экран прерывистый / дискретные данные

PieChart

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

BubbleChart

Пузыри графиков для точек данных в ряду. Каждый графически изображенный объект изображает три параметра в 2-D диаграмме и следовательно уникальном типе диаграммы.

ScatterChart

Символы графиков для точек данных в ряду. Этот тип диаграммы полезен в просмотре распределения данных и его corelation, если есть какая-либо кластеризация.

Chart базовый класс для всех диаграмм. Это ответственно за рисование фона, фрейма, title и легенды. Это может быть расширено, чтобы создать пользовательские типы диаграммы. XYChart базовый класс для всех двух диаграмм оси, и он расширяет от Диаграммы class. Это главным образом ответственно за рисование двух осей и фона графика диаграммы. Большинство диаграмм расширяется от class XYChart за исключением PieChart, который расширяет от Диаграммы class, поскольку это не две диаграммы оси.

javafx.scene.chart пакет включает классы оси, которые могут использоваться, составляя две таблицы оси. Axis абстрактный class всей оси диаграммы. CategoryAxis графики представляют категории в виде строки, где каждое значение является уникальной категорией вдоль оси. NumberAxis графически изображает диапазона чисел с главными метками каждый tickUnit.

Например BarChart графически изображает данных от последовательности XYChart.Series объекты. Каждый ряд содержит XYChart.Data объекты.

Мы можем определить больше серийных объектов так же. Следующий фрагмент кода показывает, как создать BarChart с 3 категориями и его X и Ось Y:

Диаграммы JavaFX предоставляют себя очень хорошо в течение реального времени или динамического Построения диаграммы (как онлайновые запасы, веб-трафик и т.д.) от живых наборов данных. Вот пример динамической таблицы, составленной с моделируемыми данными. A Timeline используется, чтобы моделировать динамические данные для изменений курса акций в течение долгого времени (часы).

      final NumberAxis yAxis = new NumberAxis(0,100,10);
      final LineChart<Number,Number> lc = new LineChart<Number,Number>(xAxis,yAxis);

      lc.setCreateSymbols(false);
      lc.setAnimated(false);
      lc.setLegendVisible(false);
      lc.setTitle("ACME Company Stock");

      xAxis.setLabel("Time");
      xAxis.setForceZeroInRange(false);
      yAxis.setLabel("Share Price");
      yAxis.setTickLabelFormatter(new NumberAxis.DefaultFormatter(yAxis,"$",null));

      hourDataSeries = new XYChart.Series<Number,Number>();
      hourDataSeries.setName("Hourly Data");
      hourDataSeries.getData().add(new XYChart.Data<Number,Number>(timeInHours,prevY));
      lc.getData().add(hourDataSeries);

      private void nextTime() {
          if (minutes == 59) {
              hours ++;
              minutes = 0;
          } else {
              minutes ++;
          }
          timeInHours = hours + ((1d/60d)*minutes);
      }

      private void plotTime() {
          if ((timeInHours % 1) == 0) {
              // change of hour
              double oldY = y;
              y = prevY - 10 + (Math.random()*20);
              prevY = oldY;
              while (y < 10 || y > 90) y = y - 10 + (Math.random()*20);
              hourDataSeries.getData().add(new XYChart.Data<Number, Number>(timeInHours, prevY));
              // after 25hours delete old data
              if (timeInHours > 25) hourDataSeries.getData().remove(0);
              // every hour after 24 move range 1 hour
              if (timeInHours > 24) {
                  xAxis.setLowerBound(xAxis.getLowerBound()+1);
                  xAxis.setUpperBound(xAxis.getUpperBound()+1);
              }
          }
      }


Метод запуска должен вызвать анимацию.play (), чтобы запустить моделируемую динамическую диаграмму.

Пожалуйста, сошлитесь на javafx.scene.control документацию пакета относительно моделирования CSS. Пример для того, чтобы разработать Диаграмму через CSS как follows:-, чтобы установить фон контента диаграммы в определенный цвет:

.chart-контент {-fx-цвет-фона: синий;}

Цвет строки Линейной диаграммы может быть разработан как follows:-

.chart-series-line {-fx-штрих: зеленый;-fx-stroke-width: 4px;}


JavaFX 8.0

Copyright (c) 2008, 2013, Oracle и/или его филиалы. Все права защищены. Использование подвергается срокам действия лицензии.




Spec-Zone.ru - all specs in one place