Python'da Panel - Olayların çağrılma sırası nasıl ayarlanır
Paneli kullanarak bir gösterge panosu oluşturuyorum ve bir kontrol değişikliğinin (aşağıdaki sınıftaki "eşik"), o niteliği kullanacak diğer herhangi bir işlev çağrılmadan önce sınıfın bir özniteliğini güncelleyen bir işlemi nasıl başlatacağını anlamaya çalışıyorum. . Temel olarak, eşik widget'ındaki bir değişiklik, self.table özniteliğini değiştirmelidir ve ardından 1'den fazla işlev, gösterge tablosu için tablolar ve grafikler oluşturmak için ona başvurur. Bu nasıl olur? Bu, widget'ların bildirildiği ve sınıfın başlatıldığı sınıfın başlangıcıdır ...
class BinaryPerformDashComponents(param.Parameterized):
bins = param.ObjectSelector(default=10, objects=[], label='Number of Bins')
threshold = param.Number(default=0.5, step=0.01, bounds=(0, 1), allow_None=False)
def __init__(self, actual, pred, df, *args, **kwargs):
super(type(self), self).__init__(*args, **kwargs)
self.param.bins.objects =[5,10,20,50,100] # set the list of objects to select from in the widget
self.df = self.create_df(actual,pred,df)
Yanıtlar
Parametre eşiğindeki bir değişikliğin bir boole değerinin değiştiği ve bu boole değiştiği için diğer güncellemelerin bundan sonra tetiklendiği bir örnek aşağıda verilmiştir:
import param
import panel as pn
pn.extension()
class BinaryPerformDashComponents(param.Parameterized):
bins = param.ObjectSelector(default=10, objects=[5,10,20,50,100], label='Number of Bins')
threshold = param.Number(default=0.5, step=0.01, bounds=(0, 1))
boolean_ = param.Boolean(True)
@param.depends('threshold', watch=True)
def _update_boolean(self):
self.boolean_ = not self.boolean_
@param.depends('boolean_', watch=True)
def _update_bins(self):
self.bins = 20
instance = BinaryPerformDashComponents()
pn.Row(instance)
İşte aynı mekanizmayı kullanan diğer bazı sorular + cevaplar:
Panelde Parametreli Sınıfla eylemi tetiklemek için düğmeyi kullanın ve düğme eylemi bittiğinde başka bir bağımlılığın güncellenmesini sağlayın (Holoviz)
Başka bir seçim pencere öğesi değiştirildiğinde açılır seçim pencere öğesini otomatik olarak nasıl güncellerim? (Python paneli pyviz)