Processing:Примеры/Круговая диаграмма: различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 3: | Строка 3: | ||
{{Перевод от Сubewriter}} | {{Перевод от Сubewriter}} | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=Описание<ref>[https://processing.org/examples/piechart.html processing.org - Pie Chart ]</ref>= | =Описание<ref>[https://processing.org/examples/piechart.html processing.org - Pie Chart ]</ref>= | ||
Строка 72: | Строка 70: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{#set: | |||
Код примера= | |||
int[] angles = { 30, 10, 45, 35, 60, 38, 75, 67 }; | |||
void setup() { | |||
size(640, 360); | |||
noStroke(); | |||
noLoop(); // делаем один цикл и останавливаемся | |||
} | |||
void draw() { | |||
background(100); | |||
pieChart(300, angles); | |||
} | |||
void pieChart(float diameter, int[] data) { | |||
float lastAngle = 0; | |||
for (int i = 0; i < data.length; i++) { | |||
float gray = map(i, 0, data.length, 0, 255); | |||
fill(gray); | |||
arc(width/2, height/2, diameter, diameter, lastAngle, lastAngle+radians(data[i])); | |||
lastAngle += radians(data[i]); | |||
} | |||
} | |||
}} | |||
=См.также= | =См.также= | ||
Строка 78: | Строка 100: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Справочник языка Processing}} | {{Навигационная таблица/Справочник языка Processing}} | ||
{{Навигационная таблица/Processing/Примеры}} | {{Навигационная таблица/Processing/Примеры}} | ||
{{Навигационная таблица/Телепорт}} | {{Навигационная таблица/Телепорт}} |
Версия от 02:12, 22 февраля 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Описание[1]
Этот скетч при помощи функции arc() генерирует круговую диаграмму на основе данных, хранящихся в массиве.
Пример
int[] angles = { 30, 10, 45, 35, 60, 38, 75, 67 };
void setup() {
size(640, 360);
noStroke();
noLoop(); // делаем один цикл и останавливаемся
}
void draw() {
background(100);
pieChart(300, angles);
}
void pieChart(float diameter, int[] data) {
float lastAngle = 0;
for (int i = 0; i < data.length; i++) {
float gray = map(i, 0, data.length, 0, 255);
fill(gray);
arc(width/2, height/2, diameter, diameter, lastAngle, lastAngle+radians(data[i]));
lastAngle += radians(data[i]);
}
}
{{#set: Код примера= int[] angles = { 30, 10, 45, 35, 60, 38, 75, 67 };
void setup() {
size(640, 360); noStroke(); noLoop(); // делаем один цикл и останавливаемся
}
void draw() {
background(100); pieChart(300, angles);
}
void pieChart(float diameter, int[] data) {
float lastAngle = 0; for (int i = 0; i < data.length; i++) { float gray = map(i, 0, data.length, 0, 255); fill(gray); arc(width/2, height/2, diameter, diameter, lastAngle, lastAngle+radians(data[i])); lastAngle += radians(data[i]); }
} }}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |
Категории:
- Страницы с устаревшим атрибутом подсветки синтаксиса «enclose»
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Processing
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом