Skip to content

Bar

Bar, bir SVG dikdörtgeninin yüksekliğini veya genişliğini değere orantılı olarak değiştirir. Tank seviyesi, ilerleme çubuğu, yük göstergesi, enerji barı gibi gösterimlerde kullanılır.

AlanDeğer
TypeBar
Uygun SVG Öğeleri<rect>

En hızlı kullanım. Listeden değişken seçilir, bar otomatik olarak değere göre büyür/küçülür.

Bar — Tag

TYPE bölümünden TAG seçildiğinde değişken listesi ve bar yapılandırma alanları açılır.

AlanAçıklama
VariableAçılır listeden değişken seçimi
DefaultDeğer okunamadığında gösterilecek varsayılan bar boyutu
AlanAçıklama
MinMinimum değer (bu değerde bar boş / sıfır boyut)
MaxMaksimum değer (bu değerde bar tam dolu)
DirectionBar’ın büyüme yönü
Gradientİşaretlenirse bar dolgusu gradient (renk geçişi) olarak gösterilir
DeğerAçıklamaKullanım
RightSoldan sağa büyürYatay ilerleme çubuğu
LeftSağdan sola büyürTers yönlü yatay bar
UpAşağıdan yukarı büyürTank seviyesi, dikey gösterge
DownYukarıdan aşağı büyürTers yönlü dikey bar

Birden fazla değişkenden hesaplama veya özel dönüşüm gerektiğinde kullanılır.

Bar — Expression

TYPE bölümünden EXPRESSION seçildiğinde JavaScript kod editörü açılır. return ile döndürülen sayısal değer, Min-Max aralığına göre bar boyutuna dönüştürülür.

Expression modunda da Min, Max, Direction ve Gradient alanları aynı şekilde kullanılır.

Expression’dan iki farklı formatta değer döndürülebilir:

Format 1: Sayısal Değer (Basit)

Sadece sayı döndürülür. Min/Max/Direction/Gradient ayarları editördeki form alanlarından alınır.

// Doğrudan değişken değeri
return ins.getVariableValue('ActivePower_kW').value;
// Hesaplama ile yüzde
var val = ins.getVariableValue("ActivePower_kW").value;
var maxPower = 1000;
return (val / maxPower) * 100;
// İki değişkenin oranı
var output = ins.getVariableValue("Output_kW").value;
var input = ins.getVariableValue("Input_kW").value;
if (input > 0) return (output / input) * 100;
return 0;

Format 2: Nesne (Dinamik Props)

Tüm bar ayarları expression içinden dinamik olarak kontrol edilebilir. Döndürülen nesne, editördeki form alanlarını geçersiz kılar.

var power = ins.getVariableValue("ActivePower_kW").value;
return {
value: power,
min: 0,
max: 1000,
orientation: "Right",
fillColor: power > 800 ? "#FF0000" : "#04B3FF",
opacity: 1,
duration: 0.5
};

Nesne formatında kullanılabilir alanlar:

AlanTipVarsayılanAçıklama
valueNumberBar doluluk değeri (zorunlu)
minNumber0Minimum değer (bar boş)
maxNumber100Maksimum değer (bar dolu)
orientationString"Bottom"Yön: "Bottom", "Top", "Left", "Right"
fillColorString"#04B3FF"Bar dolgu rengi
opacityNumber1Saydamlık (0-1)
durationNumber1Animasyon süresi (saniye)
isRadialBooleanfalseRadyal (dairesel) bar modu
strokeWidthNumber3Radyal modda çizgi kalınlığı

isRadial: true ayarı ile bar, SVG path öğesinde stroke-dasharray tabanlı dairesel doluluk animasyonu oluşturur. Gösterge kadranı, dairesel ilerleme çubuğu gibi gösterimlerde kullanılır.

return {
value: 75,
min: 0,
max: 100,
isRadial: true,
strokeWidth: 5,
fillColor: "#00CC00",
duration: 0.8
};

<svg viewBox="0 0 400 60">
<!-- Arka plan -->
<rect x="10" y="20" width="300" height="20" fill="#e0e0e0" rx="3"/>
<!-- İlerleme barı -->
<rect id="progress_bar" x="10" y="20" width="0" height="20" fill="#2196F3" rx="3"/>
</svg>
  • TYPE: TAG, Variable: PowerFactor
  • Min: 0, Max: 1, Direction: Right
<svg viewBox="0 0 100 250">
<!-- Tank çerçevesi -->
<rect x="20" y="10" width="60" height="200" fill="none" stroke="#666" stroke-width="2"/>
<!-- Seviye barı -->
<rect id="tank_level" x="22" y="210" width="56" height="0" fill="#3498db"/>
</svg>
  • TYPE: TAG, Variable: Tank_Level
  • Min: 0, Max: 100, Direction: Up