Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 1
Регистрация: 06.03.2015
Сообщений: 75
1

Круговая диаграмма Java для белок

24.11.2015, 09:06. Показов 2444. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Столкнулся с задачей - надо построить круговую диаграмму на основе некоторых данных, например у меня есть массив чисел, далее я создаю словарь в котором ключем будет элемент массива, а значением число его повторений, и на основе этого словаря надо построить круговую диаграмму, в которой будет "отображаться" частота повторений элемента. Мне удалось с горем пополам построить обычную круговую диаграмму( код ниже). Подскажите как прилепить частоту повторений элемента ?
Java
1
2
3
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
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
public class Torte extends JFrame {
 
    public static Integer[] values = {600, 175, 150, 50, 100, 125};
    public static int totalValue = calcTotalValue();
    public int xC = 40;
    public int yC = 60;
    Color colors[] = {
          Color.RED,
          Color.ORANGE,
          Color.YELLOW,
          Color.GREEN,
          Color.BLUE,
          Color.MAGENTA,
          Color.PINK
      };
    public int cD = 200;
    static int windowWidth = 400;
    static int windowHeight = 400;
 
    public Torte(String title, int width, int height) {
        setTitle(title);
        setSize(width, height);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setVisible(true);
    }
 
    public static int calcTotalValue() {
        int buffer = 0;
        for (int i = 0; i < values.length; i++) {
            buffer += values[i];
        }
        return buffer;
    }
 
    @Override
    public void paint(Graphics g) {
        int start  = 0;
        int steps = values.length;
        int stepSize = 0;
        int total = values[0];
        for (int i = 1; i < steps; i++) {
            stepSize = getStepSize(values[i], total);
            g.setColor(colors[i - 1]);
            g.fillArc(xC, yC, cD, cD, start, stepSize);
            start += stepSize;
        }
    }
 
    private int getStepSize(Integer val, int total) {
        return (int)(360 * val) / total;
    }
 
 
    public static void main(String[] args) {
        new Torte("Measured Values", windowWidth, windowHeight);
    }
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2015, 09:06
Ответы с готовыми решениями:

Круговая диаграмма. Не получается вывести подпись для каждого сектора
Пытаюсь построить круговую диаграмму в PictureBox. Вот мои потуги: string str =...

Круговая диаграмма
Ребят, уже не прошу готового решения. Просто прошу подтолкнуть на мысль. Задан массив. Нужно...

Круговая диаграмма
Скиньте пожалуйств ссылку на урок по изучению диограмм на питон

Круговая диаграмма
Пишу программу, не могу разобраться как работает компонент TChart. Не могу понять как подписать...

0
24.11.2015, 09:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2015, 09:06
Помогаю со студенческими работами здесь

Круговая диаграмма
Нужно построить круговую диаграмму которая берет значения с файла (Кол-во значений 10). При чем...

Круговая диаграмма
1. Построить круговую диаграмму, отображающую процентное соотношение отличников, хорошистов и...

Круговая диаграмма
Как сделать что бы A,B,C,D были написаны на самой диаграмме? Вот так: ...

Круговая диаграмма
Напишите программу, которая на поверхности объекта TImage рисует круговую диаграмму, отражающую...

Круговая диаграмма
Точнее сказать проблема с моей головой, которая что-то не понимает..Мне нужно вывести надпись в...

Круговая диаграмма
Ребята есть вопрос , сделал круговую диаграму по точкам но последняя не соединилась с первой , как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru