2016-03-25 16 views
1

Cytoscape.js'de bir css özelliğinin hesaplanması için bir işlev kullanabileceğinizi biliyorum.Boyutlandırma Düğümü Sitolojideki Etiketle İlgili

cytoscape.stylesheet() 
    .selector('node') 
    .css({ 
     'width': function(ele) { 
     return 12; 
    }) 

Ben de mesela özelliğinin değer olabilir özel değerin 'etiketi' farkındayım

cytoscape.stylesheet() 
    .selector('node') 
    .css({ 
     'width': 'label' 
    }) 

Neyi merak ettiğimin etiketini, örneğin, bazı faktörlere göre ölçeklendirmek için kullanabileceğim belirli bir özellik var mıdır? istediğim şey etiket tamamen bazı matematik örneğin Ellipse bounding a rectangle kullanılarak hesaplanabilir elips (içinde bulunur, böylece

cytoscape.stylesheet() 
    .selector('node') 
    .css({ 
     'width': function(ele) { 
     return labelWidth * 1.5; //Where to get labelWidth from 
    }) 

özel gibi bir şey ben yetenek bir elips yüksekliğini ve genişliğini hesaplamak mümkün istiyorum olduğunu).

Ancak labelWidth'i edinmenin bir yolunu bulamadım. Rscratch kullanarak bunu yapmayı başardım ancak sadece düğüm iki kez işlendiyse (örneğin, çoklu seçiciler), etiket genişliğini ve yüksekliğini belirli bir öğeden almanın herhangi bir uygun yolu (veya en azından nasıl olacağını hesaplamak için) işlenecek mi?).

cevap

1

Daha sofistike boyutlandırma yapmak isterseniz, hesaplarınız daha karmaşık hale gelecektir.

Seçenekler:

(1) bir div kullanarak kendiniz metnin boyutlarını hesaplayın.

(2) Otomatik boyutlandırmayı kullanın ve sonra geçerli boyuta göre boyutu ayarlayın.

(1), (2) 'den daha temizdir.

Cytoscape.js dosyasının, stil sayfasındaki sizin için oluşturulmuş hesaplanmış değerleri göstermesi mantıklı değildir. Bu değerler, bağımlılık döngüsü oluşturarak, stil sayfasından hesaplanır.