Вступление
Вам нужно будет создать приложение на основе диаграмм на чистом java GUI, используйте эту библиотеку. Также, когда вам нужно создать панель мониторинга в java-приложении, не основанном на веб, просто используйте библиотеку Chaos graph library. Возможно, когда вы работаете с Eclipse RCP для создания аналитического приложения или CRM, MIS, эта библиотека может быть удачным выбором для достижения цели вашего проекта в качестве UX для пользователей. Ядром этой библиотеки является java. Тем не менее, если вы используете Eclipse RAP, вы можете создать диаграмму в веб-браузере.
Github: https://github.com/9ins/chaosgraph/
Скачать jar: https://github.com/9ins/chaosgraph/tree/master/build/libs/chaosgraph-2.0.0.jar
Зависимость от Maven
io.github.9ins chaosgraph 2.0.0
Зависимость от градации
// https://mvnrepository.com/artifact/io.github.9ins/chaosgraph implementation group: 'io.github.9ins', name: 'chaosgraph', version: '2.0.0'
Примеры AWT/SWT
Как закодировать
Чтобы создать диаграмму в вашем приложении, выполните следующие действия. Если вы посетите страницу Github, можете получить более подробную информацию. например, примеры диаграммы.
- Вам нужен JRE более 1,8 или более.
- Скачайте Jar-файл по ссылке выше.
- Добавить [GRAPH_HOME]/build/libs/chaosgraph-2.0.0.jar к classpath в вашем проекте.
- Создайте код, определяющий индексы осей x, y.
List
- Создайте объект Graph Elements с индексами x, y.
GraphElements graphElements = new GraphElements(GRAPH.AREA, xIndex, yIndex);
- Добавьте создаваемые объекты GraphElement к объекту Graph Elements, созданному выше.
double[] values = {1024d*1024d*45d, 1024d*1024d*55d, 1024d*1024d*3d, 1024d*1024d*66d, 1024d*1024d*33d, 1024d*1024d*6d, 1024d*1024d*9d, 1024d*1024d*600d, 1024d*1024d* 500d, 1024d*1024d*980d, 1024d*1024d*103d, 1024d*1024d*666d} GraphElement ge = new GraphElement("Kafka", Color.GRAY, values); graphElements.add(ge); .... (could be added more elements)
- Создайте объект GraphPanel с предварительно созданным объектом Graphelements.
//Area graph type with width 600 pixel, height 400 pixel GraphPanel gpArea = new GraphPanel(GRAPH.AREA, graphElements, 600, 400);
- Для установки правильного или желаемого параметра в объекте Graph, полученном из объекта GraphPanel.
AbstractGraph graph = (AreaGraph)gpArea.getGraph(); graph.setTitle("This is simple area graph."); graph.setShowShadow(false); graph.setGridStyle(GRID.DOT); graph.setLimit(1000); graph.setPopupStyle(POPUP_STYLE.ROUND); graph.setSelectionEnable(true); graph.setSelectionBorder(SELECTION_BORDER.DOT); graph.setShowGraphXY(false);
- Добавьте объект GraphPanel в качестве требуемого целевого компонента пользовательского интерфейса.
getContentPane().add(gpArea , BorderLayout.CENTER); getContentPane().validate(); gpArea .repaint();
Для получения дополнительной информации посетите Github wiki: https://github.com/9ins/chaosgraph/wiki
Примеры изображений
Схема местности
Линейный график
Линейная диаграмма, нанесенная с интерполяцией
Столбчатая диаграмма
Диаграмма соотношения стержней
Круговая диаграмма
Оригинал: “https://dev.to/kooin/how-to-develop-a-chart-using-chaosgraph-on-awt-swt-based-application-2l7a”