Dostosowywanie etykiet / kleszczy osi logarytmicznej
UżywamJFreeChart
API do generowania pewnego wykresu w mojej aplikacji Java. Na jednym z moich wykresów próbuję użyćLogAxis
obiekt, aby moja oś y była osią skali logarytmicznej (A na rysunku) za pomocą następującego kodu:
<code>LogAxis logAxis = new LogAxis("Price($)"); logAxis.setMinorTickMarksVisible(true); logAxis.setAutoRange(true); xyplot.setRangeAxis(logAxis); </code>
Następnie otrzymałem oś Y w skali logarytmicznej z kleszczami takimi jak 10 ^ n (jak na rysunku A). Chcę, aby wyglądało to jak B, który jest bardziej intuicyjny dla użytkownika, a każdy przedział reprezentuje różne wartości, jak pokazano na rysunku, 2-> 4, 4-> 8, 8-> 16, interwał rośnie jako 2 ^ n. Coś mniej znaczącego polega na tym, że interwały są wyświetlane równie szeroko, nawet jeśli reprezentują inną wartość. Jednak gdy O spróbujesz to osiągnąć za pomocą następującego kodu:
<code>LogAxis logAxis = new LogAxis("Price($)"); logAxis.setBase(2); logAxis.setTickUnit(new NumberTickUnit(2)); logAxis.setMinorTickMarksVisible(true); logAxis.setAutoRange(true); xyplot.setRangeAxis(logAxis); </code>
Dostaję coś w rodzaju figury C.
Jak mogę osiągnąć liczbę B?