Olás!
Tenho um gráfico do JFreeChart do tipo SpiderWebPlot (que funciona!) e preciso alterar algumas coisas nele. Não consegui resolver minhas dúvidas consultando o JavaDoc desse tipo de gráfico aqui.
O SpiderWebPlot que uso é definido por:
[code] private SpiderWebPlot createChart(CategoryDataset categorydataset) {
SpiderWebPlot spiderwebplot = new SpiderWebPlot(categorydataset);
spiderwebplot.setStartAngle(60D);
spiderwebplot.setMaxValue(10D);
spiderwebplot.setBaseSeriesPaint(Color.BLACK);
spiderwebplot.setOutlinePaint(Color.BLACK);
spiderwebplot.setWebFilled(true);
spiderwebplot.setInteriorGap(0.40000000000000002D);
return spiderwebplot;
}[/code]
O dataset que usei para definir este gráfico é assim:
[code]private DefaultCategoryDataset createDataset(float[] floatArray) {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
String st1 = “Axis Type 1”;
String st2 = “Axis Type 2”;
String st3 = “Axis Type 3”;
String st4 = “Axis Type 4”;
String st5 = “Axis Type 5”;
String st6 = “Axis Type 6”;
Double dST1 = (double) floatArray[1];
Double dST2 = (double) floatArray[2];
Double dST3 = (double) floatArray[3];
Double dST4 = (double) floatArray[4];
Double dST5 = (double) floatArray[5];
Double dST6 = (double) floatArray[6];
dataset.addValue(1.25F, "bad", st1);
dataset.addValue(1.25F, "bad", st2);
dataset.addValue(1.25F, "bad", st3);
dataset.addValue(1.25F, "bad", st4);
dataset.addValue(1.25F, "bad", st5);
dataset.addValue(1.25F, "bad", st6);
dataset.addValue(3.75F, "ok", st1);
dataset.addValue(3.75F, "ok", st2);
dataset.addValue(3.75F, "ok", st3);
dataset.addValue(3.75F, "ok", st4);
dataset.addValue(3.75F, "ok", st5);
dataset.addValue(3.75F, "ok", st6);
dataset.addValue(6.25F, "good", st1);
dataset.addValue(6.25F, "good", st2);
dataset.addValue(6.25F, "good", st3);
dataset.addValue(6.25F, "good", st4);
dataset.addValue(6.25F, "good", st5);
dataset.addValue(6.25F, "good", st6);
dataset.addValue(8.75F, "verygood", st1);
dataset.addValue(8.75F, "verygood", st2);
dataset.addValue(8.75F, "verygood", st3);
dataset.addValue(8.75F, "verygood", st4);
dataset.addValue(8.75F, "verygood", st5);
dataset.addValue(8.75F, "verygood", st6);
dataset.addValue(10, "excelent", st1);
dataset.addValue(10, "excelent", st2);
dataset.addValue(10, "excelent", st3);
dataset.addValue(10, "excelent", st4);
dataset.addValue(10, "excelent", st5);
dataset.addValue(10, "excelent", st6);
dataset.addValue(dST1, "variable", st1);
dataset.addValue(dST2, "variable", st2);
dataset.addValue(dST3, "variable", st3);
dataset.addValue(dST4, "variable", st4);
dataset.addValue(dST5, "variable", st5);
dataset.addValue(dST6, "variable", st6);
return dataset;
}[/code]
Este dataset plota uma grade para as séries bad, ok, good, verygood e excelent de maneira que todos os eixos sejam exibidos mesmo que o valor para variável for zero.
Eu preciso de ajuda em:
- plotar todos os eixos sem ter setar as séries bad, ok, good, verygood e excelent;
- se 1) não for possível, plotar as séries bad, ok, good, verygood e excelent com setWebFilled(false) e varible WITH setWebFilled(true);
- exibir os nomes das categorias em duas linhas. Gostaria de exibir os nomes das categorias como
Axis Type
1
com as linhas alinhadas pelo meio delas, mas iniciando por quebrar a linha o operador \n em
String st1 = "Axis Type 1";
não parece funcionar;
4) controlar as cores para as categorias plotadas;
Tentei procurar resolver essas questões consultando a documentação oficial Developer Guide deles, e mais complica que ajuda. Também tentei postar uma thread no fórum de suporte deles e está com 65+ visualizações mas nenhuma resposta… desde início de fevereiro de 2010.
Obrigado desde já!
Gustavo