2016-04-07 8 views
0

Dimple.JS ile ilgili bir sorun yaşıyorum, Gruplama/Sipariş Kuralı yöntemleri, çubuk sütunlarının sırasını veya hizalamasını ben kontrol etmeme izin vermiyor 'sevdim.Dimple Barplot Gruplama veya Sipariş Kuralları'nı Kullanarak Çubukları Hizala veya Düzenleyemiyor

X ekseni sırası kapalı bile olsa ve grafiğin x ekseninin Grup Bins'in artan düzeninde doğru bir şekilde oluşturulduğundan emin olmak için verilerime 'Sipariş' adlı bir satır eklemeliydim ('0- 10 'ila '90 -100'). Benim veri olarak saklanır

aşağıdaki gibidir:

var svg = dimple.newSvg("#container", 1200, 400); 
    var myChart = new dimple.chart(svg, bardata); 
    myChart.setBounds(60, 20, 950, 300) 
    myChart.fontFamily = 'Courier'; 
    myChart.assignColor('Male', "#0175AE", 'darkslategrey', 0.7); 
    myChart.assignColor("Female", "#E8603C", "crimson", 0.7); 
    var x_bar = myChart.addCategoryAxis("x", ['Group Bins', 'Gender'], false); 
    x_bar.addOrderRule('Order', false); //Exactly renders Group Bins in Order 
    var y_bar = myChart.addMeasureAxis("y", "Rate"); 
    y_bar.tickFormat = "%" 
    var bar_series = myChart.addSeries("Gender", dimple.plot.bar); 
    bar_series.addOrderRule('Gender', true); //Exactly Renders Legend in Order 
    myChart.addLegend(500, 2, 510, 20, "right"); 
    myChart.ease = "bounce"; 
    myChart.draw(1000); 

Ben aynı grafikte birden çok örneğini oluşturmak için bu kullanıyorum:

var data = []; 
var obj = { 
      'Group Bins': '0-10', 
      'Gender': 'Male', 
      'Rate': 20%, 
      'Order': 1 
    }; 

data.push(obj); 

O zaman bu ben barplot işlemek zorunda koddur farklı veri kümeleri ancak çubuklar kesin bir sırayla hizalanmaz. Önce 'Dişiler' (mavi), daha sonra her grupta 'Erkek' (Kırmızı) sütunlar gelmesini istiyorum.

Farklı veri kümelerine sahip iki örnek aşağıdadır; hizalamanın nasıl rasgele olduğunu öğrenin. Bir kural izliyor gibi görünmüyor.

Bar 1 (Problematic)

Bar 2 (Correct)

barlarda hiçbir mantıksal düzen vardır Bak nasıl? Onlar sadece

değil bu nasıl kontrol emin, şimdiye kadar ben

x_bar.addOrderRule('Reviewer Group', false); //Doesn't Work and now Order is Wrong 
x_bar.addOrderRule(['Order','Gender'], false); //Doesn't Work and now Order is Wrong 
x_bar.addOrderRule(['Order','Female', 'Male'], false); //Doesn't Work and now Order is Wrong 

//passing a function 


var ordering = function(x,y){ 
    console.log(x); 
    console.log(y); 
}; 

x_bar.addOrderRule(ordering, false); 

// Obj looks like: 
// {'Group Bins': '0-10', Gender: [ 'Male', 'Female'], Rate:[0.14, 0.14, 0.30, 0.30], Order: [1, 1]} 

x emin yapmaktan Tam ve kesin olarak Order nasıl uygulanacağı emin değil

gibi al Kuralları ekleyerek denedim ... geçiş -axis 'Grup' çubuklarının 'Erkek''den önce görünmesini sağlamak için tüm Grup Kutularını doğru sıraya sahiptir.

cevap

1

Sen x_bar.addGroupOrderRule('Gender');

+0

John ile bunu yapmak mümkün olmalıdır, eğer bu kadar teşekkürler :) bir efsane vardır. –

+0

Kesinlikle bu yöntemde 'Grup' eklenmesi üzerine göz attı, şimdi belgelerinde de görüyorum. –

İlgili konular