简体   繁体   中英

Formatting Y-axis on JFreeChart

I have a StackedXYAreaChart similar to the one below:

在此处输入图片说明

On the Y-axis, instead of the tick units shown ( 2.5 , 5.0 , 7.5 , 10.0 , etc.), I have the following: 100,000 , 200,000 , 300,000 , 400,000 , etc. These represent Bytes, just like the one above. My question is: is there a way I could format these tick units such that they represent Kilobytes, ie 100 , 200 , 300 , 400 , etc. or even Megabytes, ie 0.1 , 0.2 , 0.3 , 0.4 , etc.? I don't want to display 10 MB as 10,000,000 on the Y-axis.

Thanks!

The static factory createStackedAreaChart() instatiates a NumberAxis for the range. The NumberAxis method createStandardTickUnits() creates the standard tick units, which may serve as an example for creating your own units. In particular, "If you don't like these defaults, create your own instance of TickUnits and then pass it to the setStandardTickUnits() method." There's more details here .

I would of done a byte conversion, converting from

KB to MB=(KB/1024)
KB to TB=(KB/(1024*2))
KB to GB=(KB/(1024*3))
KB to PB=(KB/(1024*4))

Where the the NumberAxis should auto range depending on the value passed.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM