Desenhando um histograma gráfico
Eu estou trabalhando em um projeto e gostaria de exibir um histograma de linha única que se parece com um gráfico de barras, exceto que cada linha no gráfico de barras representa um pixel e seu valor em escala de cinza.
Eu tenho uma matriz cheia de valores em escala de cinza, eu só preciso colocá-los neste histograma e tê-lo exibir as linhas que representarão os valores .. mais ou menos como este
IMAGE [minimize][maximize][close]
picture histogram
I
(Loaded Picture) I I
I I I
I I I I
[open][save]
E abaixo está o código carregando a matriz ... Eu só preciso pegar algum código que irá usar esses valores em escala de cinzentos e representá-los como barras como acima.
public void showImage(File fileName) {
Scanner scan;
try {
scan = new Scanner(fileName);
typefile = scan.next();
iname = scan.next();
width = scan.nextInt();
height = scan.nextInt();
maxshade = scan.nextInt();
array = new int[width][height];
for(int r = 0; r < array.length; r++){
for(int c = 0; c < array[r].length; c++){
array[r][c] = scan.nextInt();
imageArray = array;
repaint();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
Eu sei que tenho que fazer algo como ...
int hist[] = new int[256];
for (int r = 0; r < array.length; r++)
for (int c = 0; c < array[r].length; c++)
hist[array[r][c]]++;
Mas eu não sei para onde ir ou como desenhar meu gráfico.