Ich versuche, eine Überwachungsschnittstelle zu erstellen, die Windows-Dienste überprüft und den Status und den Starttyp mit var colorScale = d3.scale.ordinal()
ermittelt.Die Ordinalskala wird nicht korrekt eingefärbt, obwohl das unbekannte Element impliziert ist.
Wenn der Status "RUNNING" ist, möchte ich die Zelle grün einmalen. Wenn der Zustand "STOPPED" ist, möchte ich die Zelle rot einfärben. Irgendwelche anderen Werte, um weiß zu färben.
Hier ist mein vollständiger Code:
<html>
<body>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
<script type="text/javascript">
var parsedCSV = d3.csv("servicecheckupreport.csv", function(parsedCSV){
var colorScale = d3.scale.ordinal()
.domain([" ","RUNNING","STOPPED"])
.range(["White","MediumSpringGreen","OrangeRed"]);
var body = d3.select("body");
var headers = Object.keys(parsedCSV[0]);
var table = body.append('table')
var thead = table.append('thead')
var tbody = table.append('tbody');
var head = thead.selectAll('th')
.data(headers)
.enter()
.append('th')
.text(function(d) {
return d;
});
var rows = tbody.selectAll('tr')
.data(parsedCSV)
.enter()
.append('tr');
var cells = rows.selectAll('td')
.data(function(d) {
return Object.values(d);
})
.enter()
.append('td')
.style("background-color", function(d) {
if(d){
return colorScale(d);
}else{
return "White";
}
})
.text(function(d) {
return d;
});
});
</script>
Dies ist die Ausgabe:
Das Problem ist, wird der Code in der IP-Adresse und Hostnamen Farbe wenn diese Zellen weiß sein sollten.
Ich versuche ordinal.unknown()
aufzurufen um einen dritten Wert in meinem Array, wie unten aufgeführt:
var colorScale = d3.scale.ordinal()
.domain([" ","RUNNING","STOPPED"])
.range(["White","MediumSpringGreen","OrangeRed"]);
Der erste Wert des Arrays " "
zeigt alle Werte, die außerhalb der zweiten und der dritten auf dem Array sind wird in weiß gefärbt, tut es aber immer noch nicht.
Wahrscheinlich nicht verwandt, aber warum laden Sie beide Versionen 3 und 4 von 'd3'? – sparta93