2016-12-02 10 views
1

この例に続いて、Incanterを使用して標準化されたステーキン棒グラフを取得する方法は?

(use '(incanter core stats charts datasets)) 

(with-data (get-dataset :airline-passengers) 
    (view (stacked-bar-chart :month :passengers :group-by :year :legend true))) 

がどのように積み重ねられた要素間の完全な相対的な比較を可能にすること、100%に等しい各グローバルバーを作ることができますか?どのように私の代わりにこれを達成することができます http://phloxblog.in/angulard3/images/Nor-Stackbar.jpg

は今、私はこのような何かを得ますか? enter image description here

答えて

1

回答が見つかりました。前

(use '(incanter core stats charts datasets)) 

(import 
    '[org.jfree.chart ChartFactory ChartUtilities JFreeChart StandardChartTheme] 
    '[org.jfree.chart.plot CategoryPlot] 
    '[org.jfree.chart.renderer.category CategoryItemRenderer StackedBarRenderer]) 

(with-data (get-dataset :airline-passengers) 
    (view 
    (let [chart (stacked-bar-chart :month :passengers :group-by :year :legend true) 
     plot (-> chart .getCategoryPlot) 
     renderer (-> plot .getRenderer) 
     _ (.setRenderAsPercentages renderer true)] 
    chart))) 

enter image description here

後: enter image description here

あなたがパーセントで軸を取得したい場合は、

(use '(incanter core stats charts datasets)) 

(import 
    '[org.jfree.chart ChartFactory ChartUtilities JFreeChart StandardChartTheme] 
    '[org.jfree.chart.axis NumberAxis] 
    '[org.jfree.chart.labels StandardCategoryItemLabelGenerator ItemLabelPosition ItemLabelAnchor] 
    '[org.jfree.chart.plot CategoryPlot] 
    '[org.jfree.chart.renderer.category StackedBarRenderer] 
    '[java.text DecimalFormat]) 

(with-data (get-dataset :airline-passengers) 
    (view 
    (let [chart (stacked-bar-chart :month :passengers :group-by :year :legend true) 
     plot (-> chart .getCategoryPlot) 
     range-axis (-> plot .getRangeAxis) 
     percent-format (DecimalFormat. "#%") ;;"#.0%" 
     _ (.setNumberFormatOverride range-axis percent-format) 
     renderer (-> plot .getRenderer) 
     _ (.setRenderAsPercentages renderer true)] 
    chart))) 
を行うことができます
関連する問題