Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java GUI
Войти
Регистрация
Восстановить пароль
 
Roman8
0 / 0 / 1
Регистрация: 06.03.2015
Сообщений: 74
1

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

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

Столкнулся с задачей - надо построить круговую диаграмму на основе некоторых данных, например у меня есть массив чисел, далее я создаю словарь в котором ключем будет элемент массива, а значением число его повторений, и на основе этого словаря надо построить круговую диаграмму, в которой будет "отображаться" частота повторений элемента. Мне удалось с горем пополам построить обычную круговую диаграмму( код ниже). Подскажите как прилепить частоту повторений элемента ?
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2015, 09:06
Ответы с готовыми решениями:

Uml диаграмма по готовому коду java
Посоветуйте пожалуйста , есть ли приложение/программа которая генерирует по...

Какие шаги предпринять для овладения java и какую среду java посоветуете?
Пока сть опыт по Visual С, Basic; Borland Delphi, CBuilder. Хочется и в java...

Изменение шрифтов (хотя бы размер) в Java для отображения Java-приложений в Windows
здравствуйте! подскажите, пожалуйста, есть ли возможность через некие твики...

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

Круговая диаграмма
Каким образом можно нарисовать нечто подобное в VB 6.0, в PictureBox? У меня не...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2015, 09:06

Круговая диаграмма
Доброе утро! Не подскажите какие библиотеки лучше использовать для построенния...

Круговая диаграмма в 1с
всем привет. задача необходимо построить диаграмму круговую в отчете....

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru