Ajuda com a sobreposição do JFreeChart

Estou tendo um problema com um gráfico sobreposto JFreeChart. Estou usando o JFreeChart 1.0.13. O que estou tentando fazer parece que foi mais fácil fazer nas versões anteriores do JFreeChart?

O gráfico mostra um gráfico de linhas e um gráfico de barras. O intervalo de dados plotado pelo gráfico de linhas para o eixo Y está no intervalo de 0 a 100 e o eixo do gráfico de barras está no intervalo de 0 a 5.

Individualmente, quando eu esqueço cada quadro e pinto, eles ficam ótimos. Aqui está um exemplo:

Gráfico de barras Gráfico de linha

Mas quando eu as sobreponho, o gráfico de barras é reduzido para parecer incrivelmente inútil ... presumivelmente porque as escalas dos dois conjuntos de dados são muito diferentes.

Exemplo:

O que eu realmente quero é dividir os dados da série para os dois conjuntos de dados e exibir o intervalo de 0 a 100 para o gráfico de linhas no eixo Y esquerdo e exibir o gráfico de barras em tamanho real, como no meu primeiro exemplo abaixo, mas a escala 0-5 exibida no lado direito do eixo Y do gráfico.

Para criar o gráfico, primeiro estou criando o gráfico de barras usando um XYSeriesCollection, adicionando os dados e criando o gráfico ...

XYSeriesCollection histogramDataset= new XYSeriesCollectio,n();
XYSeries xy= new XYSeries("Temp");
xy.add(100,0.0);
xy.add(101,0.3769791404875597);
histogramDataset.addSeries(xy);
...
final NumberAxis xAxis = new NumberAxis("Temperature C");
xAxis.setAutoRangeIncludesZero(false);
final ValueAxis yAxis = new NumberAxis("Percent Time above Temperature");
final XYItemRenderer renderer = new XYBarRenderer();

final XYPlot plot = new XYPlot((XYDataset) histogramDataset, xAxis, yAxis, renderer);

Em seguida, crio o gráfico de linhas de maneira semelhante e adiciono a segunda série ao gráfico ...

final XYSeries xy = new XYSeries("First");
final XYDataset xySeriesData = new XYSeriesCollection();
final XYItemRenderer xyLineRenderer = new XYLineAndShapeRenderer();
xyLineRenderer.setSeriesShape(0, new Line2D.Double(0.0, 0.0, 0.0, 0.0));
xyLineRenderer.setSeriesStroke(0, new BasicStroke(4.5f));
xy.add(100,100.0);
xy.add(101,100.0);
xyseriesData.add(xy);
plot.setDataset(1, xySeriesData);
plot.setRenderer(1, xyLineRenderer);
plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);

Minha suspeita é que, de alguma forma, cada gráfico precisa ser seu próprio enredo e combinados. Alguém pode ajudar? O que eu vou fazer aqui é algo como isto:

Exceto que não quero que o gráfico de barras seja uma imagem de plano de fundo. O eixo X deve ser o mesmo e o eixo Y deve estar no lado direito, com a escala adequada que permita que o gráfico seja mostrado em tamanho real.

Todas / todas as respostas são apreciadas ...

questionAnswers(1)

yourAnswerToTheQuestion