Java график по точкам: java — Построить точечный график – javatalks.ru / Построение графика функии

Как начать работать с графикой в Java

Среда программирования: 

Eclipse — кроссплатформенная среда разработки, поддерживает множество языков программирования, среди которых есть и Java. Данный урок будет посвящён написанию простых графических приложений на языке Java в Eclipse.

Для начала вам нужно загрузить и установить Eclipse. Распакуйте архив в удобное для вас место. После распаковки программа готова к работе, если на вашем компьютере установлена Java.

Запустите Eclipse и создайте новый проект: File>New>Project>Java Project.

Выберите версию Java, для которой будут создаваться проекты, если у вас установлено несколько версий. Введите имя проекта и нажмите Finish.

Создайте новый класс Этот класс будет запускаться при запуске приложения, прорисовывать окно и элементы на нём.

import java.awt.*;
import javax.swing.*;
 
public class Window{
  public static void main(String[] args) {
 
	/* Задание заголовка окна*/
	JFrame w=new JFrame("Окно с изображением");
	/*Задание размеров окна*/
	w.setSize(400, 400);
 
/* 	Если у окна не будет функции закрытия, 
 *	при нажатии крестика окно не закроется.*/
	w.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
/*	Менеджер определяет
 *  каким образом в окне расположены объекты.*/
	w.setLayout(new BorderLayout(1,1));

Таким образом будет описано окно, но для того, чтобы оно появилось на экране, нужно задать настройки видимости. Теперь добавьте то, что будете рисовать в окне. Для этого создайте новый класс в этом же файле, расширяющий класс JComponent. В JComponent описываются основные методы для объектов java.swing. Для Graphics2D описаны методы, позволяющие рисовать линии, заливать области. Так для рисования прямоугольника используется метод drawRect().
/* Класс, который будет рисовать элементы*/
class Canvas extends JComponent{
 
/*Метод, перерисовывающий элемент внутри окна
 *при обновлении*/
  public void paintComponent(Graphics g){
	super.paintComponents(g);		
	Graphics2D g2d=(Graphics2D)g;
 
/* 	Устанавливает цвет рисования в зелёный*/	
	g2d.setPaint(Color.GREEN);
 
/* 	Рисует текущим цветом прямоугольник	*/	
	g2d.drawRect(100, 100, 80, 20);
 
	g2d.setPaint(Color.RED);
/* 	Рисует текущим цветом в координатах (150,150) строку "привет мир"*/		
	g2d.drawString("Привет мир", 150, 150);
 
	g2d.setColor(Color.blue);
/*	Рисует текущим цветом овал в координатах (200,50)*/	
	g2d.fillOval(200, 50, 50, 20);
 
/* 	Вызывает обновление себя после завершения рисования	*/	
	super.repaint();
  }	
}

Теперь есть компонент, который будет прорисовываться при обращении к нему. Осталось прикрепить его к окну. Для этого в методе main добавьте элемент Canvas к окну и сделайте окно видимым.
	Canvas canv=new Canvas();
        w.add(canv);		
        w.setVisible(true);		
    }
}

После сохранения файла можно запустить программу, выбрав в меню Run>Run либо нажав комбинацию ctrl+F11.
Результат:

15 лучших JavaScript-библиотек для построения диаграмм и сводных таблиц / Habr

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

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

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

D3.js – документы, ориентированные на данные



Сегодня, когда мы задумываемся о графиках, то первое, что приходит в голову – это D3.js Являясь open source проектом, D3.js, вне всякого сомнения, дарит много полезных возможностей, которых не хватает большинству существующих библиотек. Такие возможности как “Enter and Exit”, мощные переходы, и синтаксис, схожий с jQuery или Prototype, делают его одной из лучших JavaScript библиотек для создания графиков и диаграмм. В D3.js они генерируются посредством HTML, SVG и CSS.

В отличие от многих других JavaScript библиотек, D3.js не поставляется с заранее созданными графиками прямо из коробки. Однако вы можете взглянуть на перечень графиков, созданных на D3.js, чтобы получить общее представление.

D3.js не работает должным образом со старыми браузерами, такими как IE8. Но вы всегда можете применить такие плагины как aight plugin для кроссбраузерной совместимости.

D3.js ранее широко использовался на таких вебсайтах как NYTimes, Uber и Weather.com

Google Charts



Google Charts – JavaScript библиотека, которую я регулярно использую для простого и лёгкого создания графиков. Предоставляет множество предварительно созданных диаграмм, таких как комбинированные гистограммы, столбчатые диаграммы, календарные графики, секторные диаграммы, гео схемы, и др.

В Google charts также имеется множество конфигурационных настроек, которые помогают изменить внешний вид графика. Графики формируются с помощью HTML5/SVG добы обеспечить кроссбраузерную совместимость и кроссплатформенную портируемость на IPhone, IPad и Android. Также содержит VML для поддержки старых IE версий.

Вот замечательный список с примерами, построенными на Google charts.

ChartJS



ChartJS наделяет графики красивым плоским дизайном. Он использует HTML5 canvas для рендеринга. Поддержка для старых браузеров, таких как IE7/8, добавляется с помощью полифилла.

Графики ChartJS отзывчивы по умолчанию. Они отлично работают на мобильных устройствах и планшетах. Благодаря 6 основным разновидностям графиков прямо из коробки (core, столбчатый, кольцевой, лепестковый, линейчатый и полярный), ChartJS определённо является одной из наиболее впечатляющих open source библиотек для построения графиков и диаграмм, за последнее время.

Chartlist.js



Chartlist.js предоставляет красивые отзывчивые графики. Также как и ChartJS, Chartlist.js является результатом труда сообщества, которое разочаровалось в дорогих диаграммных библиотеках JavaScript. Он использует SVG для рендеринга графиков/схем. Может управляться и конфигурироваться посредством CSS3 media queries и Sass. Также, примите к сведению, что замечательная анимация, предоставляемая Chartlist.js, будет работать только в современных браузерах.

n3-charts



Если Вы – AngularJS разработчик, то n3-charts определённо вам покажется необычайно полезным и интересным. n3-charts создан поверх D3.js и AngularJS. Он предоставляет множество стандартных графиков в виде настраиваемых AngularJS директив.
Ознакомьтесь с перечнем графиков, созданных с помощью на n3-charts.

Ember Charts



EmberCharts – ещё один великолепный open source репозиторий, построенный на D3.js и Ember.js Предоставляет легко настраиваемые графики временного ряда, гистограммы, секторные диаграммы и диаграммы рассеяния. Использует SVG для рендеринга графиков.

Smoothie Charts



Если вы имеете дело с потоком данных в реальном времени, то вам может пригодиться Smoothie Charts. Для рендеринга графика здесь используется элемент HTML5 canvas. Это библиотека на чистом JavaScript, которая предоставляет такие опциональные возможности для графиков реального времени как задержка и вспышка цвета.

Chartkick



Chartkick – JavaScript библиотека для построения графиков/схем в Ruby приложениях. Предоставляет все основные типы диаграмм, такие как секторная, столбчатая, гистограмма, комбинированная гистограмма, гео, временная и диаграмма кратного ряда. Диаграммы генерируются через SVG.

MeteorCharts



Вы ещё не пробовали работать с Meteor v 1.0? Ладно, MeteorCharts поможет вам в создании красивых диаграмм для Meteor приложений. Для рендеринга графиков предоставляется возможность выбора любой из этих технологий: HTML5 canvas, WebGL, SVG и даже DOM.
Это замечательный генератор графиков, который позволяет вам выбрать его тип, тему, а затем выполнить генерацию. Бесплатен для использования в некоммерческих проектах. Подсчитать стоимость коммерческой лицензии можно здесь.

Highcharts JS



Highcharts JS – ещё одна весьма популярная библиотека для построения графиков. Комплектуется большим количеством анимации разнообразного типа, способной привлечь множество внимания к вашему сайту. Как и другие библиотеки, HighchartsJS содержит множество предварительно созданных диаграмм: сплайновых, фигурных, комбинированных, столбчатых, гистограмм, круговых, точечных и пр.

Одно из самых больших преимуществ применения HighchartsJS – совместимость со старыми браузерами, такими как Internet Explorer 6. Стандартные браузеры используют SVG для рендеринга графиков. В устаревшем IE графики строятся через VML.

Хотя HighchartsJS и бесплатен для персонального использования, вам необходимо приобрести лицензию для коммерческого применения.

Fusioncharts



Fusioncharts – одна из наиболее старых JavaScript библиотек, которая была впервые выпущена в 2002 году. Графики генерируются посредством HTML5/SVG и VML для лучшей портируемости и совместимости.

В отличие от множества библиотек, Fusioncharts предоставляет возможность парсинга как JSON данных, так и XML. Вы также можете экспортировать эти графики в 3 разных формата: PNG, JPG и PDF.

Fusioncharts хорошо совместим со старыми браузерами, такими как IE6. И по этой причине он стал одной из наиболее предпочитаемых библиотек во множестве торговых организаций.

Вы можете бесплатно использовать версию Fusioncharts с водяным знаком как в личных так и в коммерческих проектах. Однако, вам необходимо приобрести лицензию, чтобы избавиться от водяного знака.

Flot



Flot – JavaScript библиотека для JQuery, позволяющая создавать графики/диаграммы. Одна из старейших и наиболее популярных диаграммных библиотек.

Flot поддерживает линейчатые, точечные, гистограммы, столбчатые и любые комбинации из этих видов диаграмм. Также совместим со старыми браузерами, такими как IE 6 и Firefox 2.

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

amCharts



amCharts, несомненно, одна из наиболее красивых диаграммных библиотек. Она в полной мере разделилась на 3 независимых вида: JavaScript Charts, Maps Charts (amMaps) и Stock charts.

amMaps – мой любимый из этих трёх, что указаны выше. Предоставляет такие возможности, как теплокарты, рисование линий, добавление текста на карту, загрузка иконок или фотографий в верхнюю часть вашей карты, изменение масштаба и пр.
amCharts использует SVG для рендеринга графиков который работает только в современных браузерах. Графики могут не правильно отображаться в IE ниже 9й версии.

Ознакомьтесь с этой фантастической коллекцией замечательных демок, созданных на amCharts.

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

EJSChart



EJS Chart заявляют о своём практичном решении для предприятий. Графики выглядят аккуратней и читабельней чем большинство других из более старых библиотек. Также имеется совместимость с IE6+ и другими старыми браузерами. Ознакомьтесь с этим списком примеров.

EJS Chart предоставляется в бесплатной и платной версиях. Бесплатная версия имеет ограничение, не позволяющее вам использовать более 1 графика на странице и более двух (числовых) последовательностей на графике. Ознакомьтесь с ценовыми подробностями здесь.

uvCharts



uvCharts – JavaScript библиотека с открытым исходным кодом, заявляется о наличии более 100 конфигурационных опций. У неё имеются графики 12 различных стандартов прямо из коробки.

uvCharts построен на D3.js библиотеке. Этот проект обещает устранить все сложные нюансы кодинга D3.js и обеспечить лёгкую реализацию графиков стандартного вида. uvCharts генерируется посредством SVG, HTML и CSS.

Заключение


Теперь выбор наилучшей диаграммной библиотеки для своих будущих проектов остаётся только за вами. Разработчики, которым нужен полный контроль над графиками, определённо выберут D3.js Практически все вышеуказанные библиотеки обзавелись хорошей поддержкой на форумах Stackoverflow.

Если вы ищите инструменты для генерации уже готовых графиков, то перейдите к статье 5 Инструментов Для Создания Удивительных Онлайн Графиков. Вы также можете прочесть Создание Простых Линейных и Столбчатых Диаграмм с Помощью D3.js, для того чтобы начать знакомство с D3.js. Также у нас есть выпуски, посвящённые GoogleCharts с AngularJS.

Надеюсь вам понравилась эта статья. Хорошего дня.

XChart, построение графика в Java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
uses   graphABC; //Подключаем графический модуль   const   W = 800; H = 500;//Размеры графического окна   function F(x: real): real; begin   F := (x + 1) * (x - 2) * (x - 3); //Функция end;   var   x0, y0, x, y, xLeft, yLeft, xRight, yRight, n: integer;   a, b, fmin, fmax, x1, y1, mx, my, dx, dy, num: real;   i: byte;   s: string;   begin   SetWindowSize(W, H); //Устанавливаем размеры графического окна   //Координаты левой верхней границы системы координат:   xLeft := 50;   yLeft := 50;   //Координаты правой нижней границы системы координат:   xRight := W - 50;   yRight := H - 50;   //интервал по Х; a и b должно нацело делится на dx:   a := -2; b := 6; dx := 0.5;   //Интервал по Y; fmin и fmax должно нацело делится на dy:   fmin := -10; fmax := 20; dy := 2;   //Устанавливаем масштаб:   mx := (xRight - xLeft) / (b - a); //масштаб по Х   my := (yRight - yLeft) / (fmax - fmin); //масштаб по Y   //начало координат:   x0 := trunc(abs(a) * mx) + xLeft;   y0 := yRight - trunc(abs(fmin) * my);   //Рисуем оси координат:   line(xLeft, y0, xRight + 10, y0); //ось ОХ   line(x0, yLeft - 10, x0, yRight); //ось ОY   SetFontSize(12); //Размер шрифта   SetFontColor(clBlue); //Цвет шрифта   TextOut(xRight + 20, y0 - 15, 'X'); //Подписываем ось OX   TextOut(x0 - 10, yLeft - 30, 'Y'); //Подписываем ось OY   SetFontSize(8); //Размер шрифта   SetFontColor(clRed); //Цвет шрифта   { Засечки по оси OX: }   n := round((b - a) / dx) + 1; //количество засечек по ОХ   for i := 1 to n do   begin     num := a + (i - 1) * dx; //Координата на оси ОХ     x := xLeft + trunc(mx * (num - a)); //Координата num в окне     Line(x, y0 - 3, x, y0 + 3); //рисуем засечки на оси OX     str(Num:0:1, s);     if abs(num) > 1E-15 then //Исключаем 0 на оси OX       TextOut(x - TextWidth(s) div 2, y0 + 10, s)   end;   { Засечки на оси OY: }   n := round((fmax - fmin) / dy) + 1; //количество засечек по ОY   for i := 1 to n do   begin     num := fMin + (i - 1) * dy; //Координата на оси ОY     y := yRight - trunc(my * (num - fmin));     Line(x0 - 3, y, x0 + 3, y); //рисуем засечки на оси Oy     str(num:0:0, s);     if abs(num) > 1E-15 then //Исключаем 0 на оси OY       TextOut(x0 + 7, y - TextHeight(s) div 2, s)   end;     { График функции строим по точкам: }   x1 := a; //Начальное значение аргумента   while x1 <= b do   begin     y1 := F(x1); //Вычисляем значение функции     x := x0 + round(x1 * mx); //Координата Х в графическом окне     y := y0 - round(y1 * my); //Координата Y в графическом окне     //Если y попадает в границы [yLeft; yRight], то ставим точку:     if (y >= yLeft) and (y <= yRight) then SetPixel(x, y, clGreen);     x1 := x1 + 0.001 //Увеличиваем абсциссу   end end.

9 библиотек на Javascript для построения интерактивных графиков и диаграмм

Если Вашим покупателям или же клиентам нужно передать какую либо отчётность, а так же некоторые сравнения, Вам очень сильно помогут самые обычные графики. В общем они и созданы для этого. Чтобы как всегда облегчить Вам задачу поисков, представляю Вам подборку из 9 библиотек различных графиков на Javascript. Данные графики достаточно функциональны, а так же имеют красивую анимацию, которая будет приятна любому пользователю.

Большущее спасибо http://www.hongkiat.com и рекомендую к просмотру:

1. Плагин графика — Chart.js

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

Перейти

2. Chartist.JS

Большая библиотека графиков с поддержкой адаптивного дизайна. Так же в графиках используется SVG.

Перейти

3. c3js

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

Перейти

4. Флот

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

Перейти

5. Echart

Это огромная и обширная библиотека графиков и диаграмм созданная китайцами. Она поддерживает огромное количество информации.

Перейти

6. Peity

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

Перейти

7. DC JS

Ещё одна отличная библиотека, которая делает то, что от неё и требуется. Присутствует красивая анимация, функциональность и простота установки.

Перейти

8. Google Chart

Вы можете создавать интерактивные графики с помощью API Google. Так же есть галереи с уже созданными диаграммами, чтобы посмотреть на что возможна данная библиотека.

Перейти

9. NVD3

Простая в установке и настройке библиотека графиков и диаграмм. Просто взяли и установили.

Перейти

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *