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
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом