我有一個對數y軸像這樣的一個圖表: 線性Y軸指數打勾 - JFreeChart的
正如我們所看到的,Y軸具有指數蜱(我yAxis.setExpTickLabelsFlag(true);
設置好的這種方式)。下面是與線性軸在同一圖表(創建xylineChart
當所述一個默認情況下):
不幸的是,我的對Y軸的值不能與指數蜱格式化,因爲它不是一個LogarithmicAxis
。我如何強制它?
我有一個對數y軸像這樣的一個圖表: 線性Y軸指數打勾 - JFreeChart的
正如我們所看到的,Y軸具有指數蜱(我yAxis.setExpTickLabelsFlag(true);
設置好的這種方式)。下面是與線性軸在同一圖表(創建xylineChart
當所述一個默認情況下):
不幸的是,我的對Y軸的值不能與指數蜱格式化,因爲它不是一個LogarithmicAxis
。我如何強制它?
如here所示,您可以調用setNumberFormatOverride()
來設置所需的DecimalFormat
。您可以調用方法DecimalFormatSymbols
來設置所需的指數分隔符。
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setExponentSeparator("e");
DecimalFormat format = new DecimalFormat("0.######E0", symbols);
yAxis.setNumberFormatOverride(format);
另外,你應該能夠在一個自定義實現setupNumberFmtObj()
,看到here修改LogarithmicAxis
的numberFormatterObj
,但我還沒有嘗試過。
非常感謝我正在尋找的東西。 – pioupiou1211
'NumberAxis :: setNumberFormatOverride'? – trashgod
@trashgod它似乎是實現它的方式謝謝。我使用了'yAxis.setNumberFormatOverride(新的DecimalFormat(「0。###### E0」));'但我想將指數設置爲像'1e5'這樣的小寫字母。用'e'代替'E'會給我一個非法的參數錯誤。順便說一下,不要猶豫,發佈是作爲答案,以便我可以將其標記爲解決方案。 – pioupiou1211
@trashgod或者使'logarithmicAxis'的蜱成爲大寫。我想要一些對稱的東西。 – pioupiou1211