2017-04-11 47 views
1

我有一個對數y軸像這樣的一個圖表: logarithmic chart線性Y軸指數打勾 - JFreeChart的

正如我們所看到的,Y軸具有指數蜱(我yAxis.setExpTickLabelsFlag(true);設置好的這種方式)。下面是與線性軸在同一圖表(創建xylineChart當所述一個默認情況下):

linear chart

不幸的是,我的對Y軸的值不能與指數蜱格式化,因爲它不是一個LogarithmicAxis 。我如何強制它?

+0

'NumberAxis :: setNumberFormatOverride'? – trashgod

+0

@trashgod它似乎是實現它的方式謝謝。我使用了'yAxis.setNumberFormatOverride(新的DecimalFormat(「0。###### E0」));'但我想將指數設置爲像'1e5'這樣的小寫字母。用'e'代替'E'會給我一個非法的參數錯誤。順便說一下,不要猶豫,發佈是作爲答案,以便我可以將其標記爲解決方案。 – pioupiou1211

+0

@trashgod或者使'logarithmicAxis'的蜱成爲大寫。我想要一些對稱的東西。 – pioupiou1211

回答

1

here所示,您可以調用setNumberFormatOverride()來設置所需的DecimalFormat。您可以調用方法DecimalFormatSymbols來設置所需的指數分隔符。

DecimalFormatSymbols symbols = new DecimalFormatSymbols(); 
symbols.setExponentSeparator("e"); 
DecimalFormat format = new DecimalFormat("0.######E0", symbols); 
yAxis.setNumberFormatOverride(format); 

另外,你應該能夠在一個自定義實現setupNumberFmtObj(),看到here修改LogarithmicAxisnumberFormatterObj,但我還沒有嘗試過。

+0

非常感謝我正在尋找的東西。 – pioupiou1211