Estoy usando la API JFreeChart
para generar algún gráfico en mi aplicación Java. En una de mis cartas, trato de utilizar el objeto LogAxis
para hacer mi eje y un eje escala logarítmica (A en la figura) por el siguiente código:Etiquetas del eje Logarítmico/Personalización de Ticks
LogAxis logAxis = new LogAxis("Price($)");
logAxis.setMinorTickMarksVisible(true);
logAxis.setAutoRange(true);
xyplot.setRangeAxis(logAxis);
Entonces me un eje y en escala logarítmica con marcas como 10^n (como la figura A). Quiero hacerlo como B, que es más intuitivo para el usuario, y cada intervalo representa valores diferentes, como se muestra en la figura, 2-> 4, 4-> 8, 8-> 16, el intervalo crece como 2^norte. Algo menor es que los intervalos se muestran igual de amplios incluso si representan valores diferentes. Sin embargo, cuando O tratar de lograr esto mediante el siguiente código:
LogAxis logAxis = new LogAxis("Price($)");
logAxis.setBase(2);
logAxis.setTickUnit(new NumberTickUnit(2));
logAxis.setMinorTickMarksVisible(true);
logAxis.setAutoRange(true);
xyplot.setRangeAxis(logAxis);
Lo que se ve es algo así como la figura C.
¿Cómo se puede lograr que la figura B?
Se muestra un ejemplo relacionado [aquí] (http://www.jfree.org/forum/viewtopic.php?f=3&t=119630 # p182652). – trashgod