<script>
jQuery(document).ready(function ($) {
document.getElementById("pm10_col1").innerHTML = "<strong>Medelvärden idag sedan midnatt (2/5&nbsp;kl.&nbsp;09:00)</strong><br /><span style=\"color: #6CA76C; \">&#9608;</span> Hornsgatan:  15 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Sveavägen:  14.3 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Norrlandsgatan:  16.8 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Sankt Eriksgatan:  17.8 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Enköpingsvägen, Solna:  10.2 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Tulegatan, Sundbyberg:  12.8 ug/m<sup>3</sup><br />"
document.getElementById("pm10_col2").innerHTML = "<br /><span style=\"color: #6CA76C; \">&#9608;</span> Turingegatan, Södertälje:  12.2 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Kungsgatan, Uppsala:  15.1 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Staketgatan, Gävle:  13 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Urban bakgrund Stockholm:  6.8 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Urban bakgrund Uppsala:  8.6 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Regional bakgrund Norr Malma:  8.5 ug/m<sup>3</sup><br />"
});
</script>
<script>
jQuery(document).ready(function ($) {
document.getElementById("pm10_extended_col1").innerHTML = "<strong>Medelvärden idag sedan midnatt (2/5&nbsp;kl.&nbsp;09:00)</strong><br /><span style=\"color: #6CA76C; \">&#9608;</span> Lilla Essingen E4/E20:  11.7 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Häggvik, Sollentuna:  9.4 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Danderydsvägen, Sollentuna:  11 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Ekmans väg, Sollentuna:  16.7 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Sollentunavägen, Sollentuna:  12.4 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Kumla gårdsväg N, Botkyrka:  9.9 ug/m<sup>3</sup><br />"
document.getElementById("pm10_extended_col2").innerHTML = "<br /><span style=\"color: #6CA76C; \">&#9608;</span> Hamngatan, Linköping:  14.2 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Kungsgatan, Norrköping:  22.4 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Österväg, Gotland:  9.5 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Rävhagen, Gotland:  12.1 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Urban bakgrund Stockholm:  6.8 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Urban bakgrund Norrköping:  10.8 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Urban bakgrund Gotland:  8.2 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Regional bakgrund Norr Malma:  8.5 ug/m<sup>3</sup><br />"
});
</script>
<script>
jQuery(document).ready(function ($) {
document.getElementById("no2_col1").innerHTML = "<strong>Medelvärden idag sedan midnatt (2/5&nbsp;kl.&nbsp;09:00)</strong><br /><span style=\"color: #6CA76C; \">&#9608;</span> Hornsgatan:  6.5 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Sveavägen:  5.3 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Norrlandsgatan:  27.5 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Sankt Eriksgatan:  3.3 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Enköpingsvägen, Solna:  3.2 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Tulegatan, Sundbyberg:  2.8 ug/m<sup>3</sup><br />"
document.getElementById("no2_col2").innerHTML = "<br /><span style=\"color: #6CA76C; \">&#9608;</span> Kungsgatan, Uppsala:  8.9 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Staketgatan, Gävle:  3.4 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Urban bakgrund Uppsala:  2.2 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Urban bakgrund Stockholm:  2.6 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Regional bakgrund Norr Malma:  2.9 ug/m<sup>3</sup><br />"
});
</script>
<script>
jQuery(document).ready(function ($) {
document.getElementById("no2_extended_col1").innerHTML = "<strong>Medelvärden idag sedan midnatt (2/5&nbsp;kl.&nbsp;09:00)</strong><br /><span style=\"color: #6CA76C; \">&#9608;</span> Lilla Essingen E4/E20:  4.4 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Kumla gårdsväg N, Botkyrka:  2.6 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Häggvik, Sollentuna:  2.4 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Turingegatan, Södertälje:  0.6 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Kungsgatan, Norrköping:  6.5 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Hamngatan, Linköping:  5.8 ug/m<sup>3</sup><br />"
document.getElementById("no2_extended_col2").innerHTML = "<br /><span style=\"color: #6CA76C; \">&#9608;</span> Urban bakgrund Stockholm:  2.6 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Urban bakgrund Norrköping:  3.5 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Regional bakgrund Norr Malma:  2.9 ug/m<sup>3</sup><br />"
});
</script>
<script>
jQuery(document).ready(function ($) {
document.getElementById("pm25_col1").innerHTML = "<strong>Medelvärden idag sedan midnatt (2/5&nbsp;kl.&nbsp;09:00)</strong><br /><span style=\"color: #6CA76C; \">&#9608;</span> Hornsgatan:  2.8 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Sankt Eriksgatan:  3.1 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Lilla Essingen E4/E20:  3.1 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Enköpingsvägen, Solna:  3.4 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Tulegatan, Sundbyberg:  2.7 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Kumla gårdsväg N, Botkyrka:  3.1 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Turingegatan, Södertälje:  3.2 ug/m<sup>3</sup><br />"
document.getElementById("pm25_col2").innerHTML = "<br /><span style=\"color: #6CA76C; \">&#9608;</span> Kungsgatan, Uppsala:  3.1 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Staketgatan, Gävle:  3.3 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Urban bakgrund Stockholm:  2.4 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Urban bakgrund Uppsala:  2.4 ug/m<sup>3</sup><br />"
});
</script>
<script>
jQuery(document).ready(function ($) {
document.getElementById("pm25_extended_col1").innerHTML = "<strong>Medelvärden idag sedan midnatt (2/5&nbsp;kl.&nbsp;09:00)</strong><br /><span style=\"color: #6CA76C; \">&#9608;</span> Häggvik, Sollentuna:  2.5 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Danderydsvägen, Sollentuna:  2.5 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Sollentunavägen, Sollentuna:  2.6 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Ekmans väg, Sollentuna:  3.4 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Hamngatan, Linköping:  3.7 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Kungsgatan, Norrköping:  4.6 ug/m<sup>3</sup><br />"
document.getElementById("pm25_extended_col2").innerHTML = "<br /><span style=\"color: #6CA76C; \">&#9608;</span> Österväg, Gotland:  3.4 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Rävhagen, Gotland:  3.4 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Urban bakgrund Stockholm:  2.4 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Urban bakgrund Norrköping:  3.5 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Urban bakgrund Gotland:  2.7 ug/m<sup>3</sup><br /><span style=\"color: #6CA76C; \">&#9608;</span> Regional bakgrund Norr Malma:  2.3 ug/m<sup>3</sup><br />"
});
</script>
<script>
jQuery(document).ready(function ($) {
document.getElementById("o3_col1").innerHTML = "<strong>Medelvärden idag sedan midnatt (2/5&nbsp;kl.&nbsp;09:00)</strong><br /><span style=\"color: #FCCC04; \">&#9608;</span> Urban bakgrund Stockholm:  100.8 ug/m<sup>3</sup><br /><span style=\"color: #FCCC04; \">&#9608;</span> Regional bakgrund Norr Malma:  99.9 ug/m<sup>3</sup><br />"
});
</script>
{"id":434,"date":"2015-11-12T12:40:39","date_gmt":"2015-11-12T12:40:39","guid":{"rendered":"http:\/\/puppetmaster.slb.nu\/slbanalys\/?page_id=434"},"modified":"2026-01-23T14:45:01","modified_gmt":"2026-01-23T13:45:01","slug":"luften-idag","status":"publish","type":"page","link":"https:\/\/www.slb.nu\/slbanalys\/luften-idag\/","title":{"rendered":"Luften idag"},"content":{"rendered":"<p><script>\njQuery(document).ready(function() {\n    jQuery('.tabs .tab-links a').on('click', function(e)  {\n        var currentAttrValue = jQuery(this).attr('href');\n        \/\/ Show\/Hide Tabs\n        jQuery('.tabs ' + currentAttrValue).show().siblings().hide();\n        \/\/ Change\/remove current tab to active\n        jQuery(this).parent('li').addClass('active').siblings().removeClass('active');\n        e.preventDefault();\n    });\n});\n<\/script>\n<br \/>\n<script>\njQuery(document).ready(function() {\n    jQuery('.tabs .tab-links-extend a').on('click', function(e)  {\n        var currentAttrValue = jQuery(this).attr('href');\n        \/\/ Show\/Hide extended graf\n        jQuery('.tabs ' + currentAttrValue).show().siblings().hide();\n        e.preventDefault();\n    });\n});\n<\/script>\n<\/p>\n<h2>Luften idag<\/h2>\n<p><div class='content-column two_third'>Nedan visas dagens halter av partiklar (PM10 och PM2.5), kv\u00e4vedioxid (NO<sub>2<\/sub>) och ozon (O<sub>3<\/sub>) vid de fasta m\u00e4tstationerna i gatuniv\u00e5 samt i urban och regional bakgrundsmilj\u00f6. Klicka p\u00e5 de stationer du vill j\u00e4mf\u00f6ra i diagrammet. F\u00f6r en \u00f6versiktskarta och beskrivning av m\u00e4tstationerna, se <a href=\"https:\/\/www.slb.nu\/slbanalys\/matningar\/\">Luft\u00f6vervakning<\/a>. F\u00f6r att se antalet uppm\u00e4tta v\u00e4rden \u00f6ver norm- och m\u00e5lv\u00e4rden f\u00f6r PM10 och NO<sub>2<\/sub> hittills i \u00e5r, se <a href=\"https:\/\/www.slb.nu\/slbanalys\/mkn-info\/\">Milj\u00f6kvalitetsnormer<\/a>.<br \/>\n<!--\n\n\n<div id=\"felmeddelande\" style=\"border-width: 10px; border-style: solid; border-color: orange; padding: 8px\">\n\n\n<p style=\"font-size: 80%; margin-bottom: 0px;\">F\u00f6r n\u00e4rvarande har vi problem med kommunikationen till v\u00e5ra m\u00e4tstationer. Data lagras lokalt p\u00e5 stationerna och kommer h\u00e4mtas hem s\u00e5 snart problemen \u00e4r l\u00f6sta, men graferna nedan \u00e4r p\u00e5verkade s\u00e5 l\u00e4nge kommunikationsproblemen kvarst\u00e5r.<\/p>\n\n\n\n<\/div>\n\n\n--><br \/><\/div><br \/>\n<div class='content-column one_third last_column'><\/div><div class='clear_column'><\/div><\/p>\n<div class=\"tabs\">\n<ul class=\"tab-links\">\n<li class=\"active\"><a href=\"#tab1\">PM10<\/a><\/li>\n<li><a href=\"#tab2\">PM2.5<\/a><\/li>\n<li><a href=\"#tab3\">NO<sub>2<\/sub><\/a><\/li>\n<li><a href=\"#tab4\">O<sub>3<\/sub><\/a><\/li>\n<\/ul>\n<div class=\"tab-content\">\n<div id=\"tab1\" class=\"tab active\">\n<div id=\"pm10_chart\" style=\"width: 700px; height: 425px; float: left; padding-top: 15px;\"><\/div>\n<p><button class=\"button\" id=\"pm10_hideSeries\" value=\"off\">D\u00f6lj alla<\/button><button class=\"button\" id=\"pm10_streetSeries\" value=\"off\">Gaturum<\/button><button class=\"button\" id=\"pm10_urbanSeries\" value=\"off\">Bakgrund<\/button><button class=\"button-active\" id=\"pm10_dygnsnorm\" value=\"hide\/show\" style=\"width: 200px;\">Dygnsmedelv\u00e4rden och prognos<\/button><span class=\"tab-links-extend\"><a href=\"#tab1_extended\">Fler stationer<\/a><\/span><\/p>\n<div style=\"display:block; width: 700px; height: 180px; position: relative;\" id=\"pm10dy\">\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 0px; top: 0px; width: 260px; height: 125px;\" id=\"pm10_col1\"><\/div>\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 250px; top: 0px; width: 260px; height: 125px;\" id=\"pm10_col2\"><\/div>\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 510px; top: 0px; width: 180px; height: 125px;\" id=\"pm10_col3\">\n                    <strong>Teckenf\u00f6rklaring<\/strong><br \/>\n<span style=\"color: #FC0404\">\u2588<\/span> H\u00f6ga (&gt; 50 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #FCCC04\">\u2588<\/span> Ganska h\u00f6ga (35-50 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #9CD79C\">\u2588<\/span> M\u00e5ttliga (25-35 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #6CA76C\">\u2588<\/span> L\u00e5ga (&lt; 25 ug\/m<sup>3<\/sup>)<\/div>\n<div style=\"padding:5px; width: 230px; font-size: 80%; position: absolute; left: 0px; top: 125px;\">\n                    <strong>Prognos f\u00f6r Stockholms innerstadsgator<\/strong><\/div>\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 0px; top: 140px;\">\n                    <strong>Idag<\/strong><br \/>\n<span style=\"color: #6CA76C\">&#9608;<\/span> L\u00e5ga halter <br \/><\/div>\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 120px; top: 140px;\">\n                    <strong>I morgon<\/strong><br \/>\n<span style=\"color: #6CA76C\">&#9608;<\/span> L\u00e5ga halter <br \/><\/div>\n<\/div>\n<div id=\"debug_zone\"><\/div>\n<p style=\"padding:5px;\">PM10 anges som massan av partiklar med en diameter mindre \u00e4n 10 \u00b5m (1 \u03bcm = en tusendels millimeter). St\u00f6rsta bidraget kommer fr\u00e5n uppvirvlade partiklar som bildas vid slitage av v\u00e4gbanor, d\u00e4ck och bromsar. F\u00f6rbr\u00e4nningspartiklar fr\u00e5n till exempel v\u00e4gtrafikens avgaser har mycket mindre massa \u00e4n slitagepartiklarna och ger d\u00e4rf\u00f6r oftast ett litet bidrag till halterna av PM10. Intransport av partiklar fr\u00e5n utsl\u00e4pp utanf\u00f6r regionen har stor betydelse och utg\u00f6r ungef\u00e4r h\u00e4lften av den urbana bakgrundshalten av PM10. Grova partiklar \u00f6kar framf\u00f6rallt risken f\u00f6r luftv\u00e4gssjukdomar. H\u00f6ga partikelhalter kan orsaka hj\u00e4rt- och k\u00e4rlsjukdomar samt f\u00f6rs\u00e4mrad utveckling av lungfunktionen hos barn.<\/p>\n<\/div>\n<div id=\"tab1_extended\" class=\"tab active\">\n<div id=\"pm10_extended_chart\" style=\"width: 700px; height: 425px; float: left; padding-top: 15px;\"><\/div>\n<p><button class=\"button\" id=\"pm10_extended_hideSeries\" value=\"off\">D\u00f6lj alla<\/button><button class=\"button\" id=\"pm10_extended_streetSeries\" value=\"off\">Gaturum<\/button><button class=\"button\" id=\"pm10_extended_urbanSeries\" value=\"off\">Bakgrund<\/button><button class=\"button-active\" id=\"pm10_extended_dygnsnorm\" value=\"hide\/show\" style=\"width: 200px;\">Dygnsmedelv\u00e4rden<\/button><span class=\"tab-links-extend\"><a href=\"#tab1\">Tillbaka<\/a><\/span><\/p>\n<div style=\"display:block; width: 730px; height: 170px; position: relative;\" id=\"pm10_extendeddy\">\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 0px; top: 0px; width: 260px; height: 110px;\" id=\"pm10_extended_col1\"><\/div>\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 260px; top: 0px; width: 270px; height: 110px;\" id=\"pm10_extended_col2\"><\/div>\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 530px; top: 0px; width: 180px; height: 110px;\" id=\"pm10_extended_col3\">\n                    <strong>Teckenf\u00f6rklaring<\/strong><br \/>\n<span style=\"color: #FC0404\">\u2588<\/span> H\u00f6ga (&gt; 50 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #FCCC04\">\u2588<\/span> Ganska h\u00f6ga (35-50 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #9CD79C\">\u2588<\/span> M\u00e5ttliga (25-35 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #6CA76C\">\u2588<\/span> L\u00e5ga (&lt; 25 ug\/m<sup>3<\/sup>)<\/div>\n<\/div>\n<div id=\"debug_zone\"><\/div>\n<p style=\"padding:5px;\">PM10 anges som massan av partiklar med en diameter mindre \u00e4n 10 \u00b5m (1 \u03bcm = en tusendels millimeter). St\u00f6rsta bidraget kommer fr\u00e5n uppvirvlade partiklar som bildas vid slitage av v\u00e4gbanor, d\u00e4ck och bromsar. F\u00f6rbr\u00e4nningspartiklar fr\u00e5n till exempel v\u00e4gtrafikens avgaser har mycket mindre massa \u00e4n slitagepartiklarna och ger d\u00e4rf\u00f6r oftast ett litet bidrag till halterna av PM10. Intransport av partiklar fr\u00e5n utsl\u00e4pp utanf\u00f6r regionen har stor betydelse och utg\u00f6r ungef\u00e4r h\u00e4lften av den urbana bakgrundshalten av PM10. Grova partiklar \u00f6kar framf\u00f6rallt risken f\u00f6r luftv\u00e4gssjukdomar. H\u00f6ga partikelhalter kan orsaka hj\u00e4rt- och k\u00e4rlsjukdomar samt f\u00f6rs\u00e4mrad utveckling av lungfunktionen hos barn.<\/p>\n<\/div>\n<div id=\"tab2\" class=\"tab active\">\n<div id=\"pm25_chart\" style=\"width: 700px; height: 425px; float: left; padding-top: 15px;\"><\/div>\n<p><button class=\"button\" id=\"pm25_hideSeries\" value=\"off\">D\u00f6lj alla<\/button><button class=\"button\" id=\"pm25_streetSeries\" value=\"off\">Gaturum<\/button><button class=\"button\" id=\"pm25_urbanSeries\" value=\"off\">Bakgrund<\/button><button class=\"button-active\" id=\"pm25_dygnsnorm\" value=\"hide\/show\" style=\"width: 200px;\">Dygnsmedelv\u00e4rden<\/button><span class=\"tab-links-extend\"><a href=\"#tab2_extended\">Fler stationer<\/a><\/span><\/p>\n<div style=\"display:block; width: 700px; height: 170px; position: relative;\" id=\"pm25dy\">\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 0px; top: 0px; width: 260px; height: 140px;\" id=\"pm25_col1\"><\/div>\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 250px; top: 0px; width: 260px; height: 140px;\" id=\"pm25_col2\"><\/div>\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 510px; top: 0px; width: 180px; height: 140px;\" id=\"pm25_col3\">\n                <strong>Teckenf\u00f6rklaring<\/strong><br \/>\n<span style=\"color: #FC0404\">\u2588<\/span> H\u00f6ga (&gt; 25 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #FCCC04\">\u2588<\/span> Ganska h\u00f6ga (17-25 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #9CD79C\">\u2588<\/span> M\u00e5ttliga (9-17 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #6CA76C\">\u2588<\/span> L\u00e5ga (&lt; 9 ug\/m<sup>3<\/sup>)<\/div>\n<\/div>\n<div id=\"debug_zone\"><\/div>\n<p style=\"padding: 5px;\">PM2.5 anges som massan av partiklar med en diameter mindre \u00e4n 2,5 \u00b5m (1 \u03bcm = en tusendels millimeter). St\u00f6rsta bidraget kommer fr\u00e5n f\u00f6rorenad luft som transporteras in fr\u00e5n andra l\u00e4nder. Lokala f\u00f6rbr\u00e4nningspartiklar fr\u00e5n till exempel v\u00e4gtrafikens avgaser har mycket liten massa och ger d\u00e4rf\u00f6r ett litet bidrag till halterna av PM2.5. Intransport av partiklar fr\u00e5n utsl\u00e4pp utanf\u00f6r regionen utg\u00f6r ungef\u00e4r tre fj\u00e4rdedelar av den urbana bakgrundshalten av PM2.5.<\/p>\n<\/div>\n<div id=\"tab2_extended\" class=\"tab active\">\n<div id=\"pm25_extended_chart\" style=\"width: 700px; height: 425px; float: left; padding-top: 15px;\"><\/div>\n<p><button class=\"button\" id=\"pm25_extended_hideSeries\" value=\"off\">D\u00f6lj alla<\/button><button class=\"button\" id=\"pm25_extended_streetSeries\" value=\"off\">Gaturum<\/button><button class=\"button\" id=\"pm25_extended_urbanSeries\" value=\"off\">Bakgrund<\/button><button class=\"button-active\" id=\"pm25_extended_dygnsnorm\" value=\"hide\/show\" style=\"width: 200px;\">Dygnsmedelv\u00e4rden<\/button><span class=\"tab-links-extend\"><a href=\"#tab2\">Tillbaka<\/a><\/span><\/p>\n<div style=\"display:block; width: 700px; height: 170px; position: relative;\" id=\"pm25_extendeddy\">\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 0px; top: 0px; width: 260px; height: 140px;\" id=\"pm25_extended_col1\"><\/div>\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 250px; top: 0px; width: 260px; height: 140px;\" id=\"pm25_extended_col2\"><\/div>\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 510px; top: 0px; width: 180px; height: 140px;\" id=\"pm25_extended_col3\">\n                <strong>Teckenf\u00f6rklaring<\/strong><br \/>\n<span style=\"color: #FC0404\">\u2588<\/span> H\u00f6ga (&gt; 25 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #FCCC04\">\u2588<\/span> Ganska h\u00f6ga (17-25 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #9CD79C\">\u2588<\/span> M\u00e5ttliga (9-17 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #6CA76C\">\u2588<\/span> L\u00e5ga (&lt; 9 ug\/m<sup>3<\/sup>)<\/div>\n<\/div>\n<div id=\"debug_zone\"><\/div>\n<p style=\"padding: 5px;\">PM2.5 anges som massan av partiklar med en diameter mindre \u00e4n 2,5 \u00b5m (1 \u03bcm = en tusendels millimeter). St\u00f6rsta bidraget kommer fr\u00e5n f\u00f6rorenad luft som transporteras in fr\u00e5n andra l\u00e4nder. Lokala f\u00f6rbr\u00e4nningspartiklar fr\u00e5n till exempel v\u00e4gtrafikens avgaser har mycket liten massa och ger d\u00e4rf\u00f6r ett litet bidrag till halterna av PM2.5. Intransport av partiklar fr\u00e5n utsl\u00e4pp utanf\u00f6r regionen utg\u00f6r ungef\u00e4r tre fj\u00e4rdedelar av den urbana bakgrundshalten av PM2.5.<\/p>\n<\/div>\n<div id=\"tab3\" class=\"tab active\">\n<div id=\"no2_chart\" style=\"width: 700px; height: 425px; float: left; padding-top: 15px;\"><\/div>\n<p><button class=\"button\" id=\"no2_hideSeries\" value=\"off\">D\u00f6lj alla<\/button><button class=\"button\" id=\"no2_streetSeries\" value=\"off\">Gaturum<\/button><button class=\"button\" id=\"no2_urbanSeries\" value=\"off\">Bakgrund<\/button><button class=\"button-active\" id=\"no2_dygnsnorm\" value=\"hide\/show\" style=\"width: 200px;\">Dygnsmedelv\u00e4rden och prognos<\/button><span class=\"tab-links-extend\"><a href=\"#tab3_extended\">Fler stationer<\/a><\/span><\/p>\n<div style=\"display:block; width: 700px; height: 170px; position: relative;\" id=\"no2dy\">\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 0px; top: 0px; width: 250px; height: 110px;\" id=\"no2_col1\"><\/div>\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 250px; top: 0px; width: 260px; height: 110px;\" id=\"no2_col2\"><\/div>\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 510px; top: 0px; width: 180px; height: 110px;\" id=\"no2_col3\">\n                <strong>Teckenf\u00f6rklaring<\/strong><br \/>\n<span style=\"color: #FC0404\">\u2588<\/span> H\u00f6ga (&gt; 60 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #FCCC04\">\u2588<\/span> Ganska h\u00f6ga (48-60 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #9CD79C\">\u2588<\/span> M\u00e5ttliga (36-48 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #6CA76C\">\u2588<\/span> L\u00e5ga (&lt; 36 ug\/m<sup>3<\/sup>)<\/div>\n<div style=\"padding:5px; width: 230px; font-size: 80%; position: absolute; left: 0px; top: 120px;\">\n                    <strong>Prognos f\u00f6r Stockholms innerstadsgator<\/strong><\/div>\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 0px; top: 135px;\">\n                    <strong>Idag<\/strong><br \/>\n<span style=\"color: #6CA76C\">&#9608;<\/span> L\u00e5ga halter <br \/><\/div>\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 120px; top: 135px;\">\n                    <strong>I morgon<\/strong><br \/>\n<span style=\"color: #fff\">&#9608;<\/span> Kommer ca kl. 14 <br \/><\/div>\n<\/div>\n<div id=\"debug_zone\"><\/div>\n<p style=\"padding:5px;\">Utsl\u00e4pp av kv\u00e4veoxider sker framf\u00f6rallt vid f\u00f6rbr\u00e4nningsprocesser, till exempel fr\u00e5n motorfordon och energianl\u00e4ggningar. I luften omvandlas kv\u00e4vemonoxiden till kv\u00e4vedioxid i reaktioner med bland annat ozon. Kv\u00e4vedioxid har negativa effekter p\u00e5 luftv\u00e4garna, s\u00e5som irritation och nedsatt lungfunktion. Personer med astma \u00e4r s\u00e4rskilt utsatta.<\/p>\n<\/div>\n<div id=\"tab3_extended\" class=\"tab active\">\n<div id=\"no2_extended_chart\" style=\"width: 700px; height: 425px; float: left; padding-top: 15px;\"><\/div>\n<p><button class=\"button\" id=\"no2_extended_hideSeries\" value=\"off\">D\u00f6lj alla<\/button><button class=\"button\" id=\"no2_extended_streetSeries\" value=\"off\">Gaturum<\/button><button class=\"button\" id=\"no2_extended_urbanSeries\" value=\"off\">Bakgrund<\/button><button class=\"button-active\" id=\"no2_extended_dygnsnorm\" value=\"hide\/show\" style=\"width: 200px;\">Dygnsmedelv\u00e4rden<\/button><span class=\"tab-links-extend\"><a href=\"#tab3\">Tillbaka<\/a><\/span><\/p>\n<div style=\"display:block; width: 700px; height: 170px; position: relative;\" id=\"no2_extendeddy\">\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 0px; top: 0px; width: 250px; height: 120px;\" id=\"no2_extended_col1\"><\/div>\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 250px; top: 0px; width: 260px; height: 120px;\" id=\"no2_extended_col2\"><\/div>\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 510px; top: 0px; width: 180px; height: 120px;\" id=\"no2_extended_col3\">\n                        <strong>Teckenf\u00f6rklaring<\/strong><br \/>\n<span style=\"color: #FC0404\">\u2588<\/span> H\u00f6ga (&gt; 60 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #FCCC04\">\u2588<\/span> Ganska h\u00f6ga (48-60 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #9CD79C\">\u2588<\/span> M\u00e5ttliga (36-48 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #6CA76C\">\u2588<\/span> L\u00e5ga (&lt; 36 ug\/m<sup>3<\/sup>)<\/div>\n<\/div>\n<div id=\"debug_zone\"><\/div>\n<p style=\"padding:5px;\">Utsl\u00e4pp av kv\u00e4veoxider sker framf\u00f6rallt vid f\u00f6rbr\u00e4nningsprocesser, till exempel fr\u00e5n motorfordon och energianl\u00e4ggningar. I luften omvandlas kv\u00e4vemonoxiden till kv\u00e4vedioxid i reaktioner med bland annat ozon. Kv\u00e4vedioxid har negativa effekter p\u00e5 luftv\u00e4garna, s\u00e5som irritation och nedsatt lungfunktion. Personer med astma \u00e4r s\u00e4rskilt utsatta.<\/p>\n<\/div>\n<div id=\"tab4\" class=\"tab active\">\n<div id=\"o3_chart\" style=\"width: 700px; height: 425px; float: left; padding-top: 15px;\"><\/div>\n<p><button class=\"button\" id=\"o3_hideSeries\" value=\"off\">D\u00f6lj alla<\/button><button class=\"button\" id=\"o3_streetSeries\" value=\"off\">Gaturum<\/button><button class=\"button\" id=\"o3_urbanSeries\" value=\"off\">Bakgrund<\/button><!--<button class=\"button\" id=\"o3_dygnsnorm\" value=\"hide\/show\" style=\"width: 200px;\">8-timmars medelv\u00e4rde<\/button>--><\/p>\n<div style=\"display:none; width: 700px; height: 170px; position: relative;\" id=\"o3dy\">\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 0px; top: 0px; width: 250px; height: 120px;\" id=\"o3_col1\"><\/div>\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 250px; top: 0px; width: 260px; height: 120px;\" id=\"o3_col2\"><\/div>\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 510px; top: 0px; width: 180px; height: 120px;\" id=\"o3_col3\">\n                    <strong>Teckenf\u00f6rklaring<\/strong><br \/>\n<span style=\"color: #FC0404\">\u2588<\/span> H\u00f6ga (&gt; 120 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #FCCC04\">\u2588<\/span> Ganska h\u00f6ga (80-120 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #9CD79C\">\u2588<\/span> M\u00e5ttliga (50-80 ug\/m<sup>3<\/sup>)<br \/>\n<span style=\"color: #6CA76C\">\u2588<\/span> L\u00e5ga (&lt; 50 ug\/m<sup>3<\/sup>)<\/div>\n<div style=\"padding:5px; font-size: 80%; position: absolute; left: 0px; top: 110px;\"><sup>1<\/sup> Medelv\u00e4rdet g\u00e4ller f\u00f6r en rullande 8-timmars period och \u00e4ndras under dagens g\u00e5ng.<\/div>\n<\/div>\n<div id=\"debug_zone\"><\/div>\n<p style=\"padding:5px;\">Markn\u00e4ra ozon bildas i luften till f\u00f6ljd av fotokemiska reaktioner d\u00e4r kv\u00e4veoxider och olika kolv\u00e4ten ing\u00e5r. Ozonhalterna styrs v\u00e4ldigt lite av lokala utsl\u00e4pp eftersom tidsskalan f\u00f6r ozonbildning \u00e4r m\u00e5nga timmar. De h\u00f6gsta halterna av ozon uppkommer vanligtvis under v\u00e5r och sommar i samband med intransport av f\u00f6rorenad luft fr\u00e5n kontinenten. Ozonhalter \u00e4r generellt sett l\u00e4gre i t\u00e4torterna \u00e4n p\u00e5 landsbygden, vilket beror p\u00e5 att ozonet bryts ned av kv\u00e4veoxider som sl\u00e4pps ut fr\u00e5n v\u00e4gtrafiken.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class='content-column two_third'><div style=\" font-size: 80%;\">Den realtidsdata som visas i figuren ovan \u00e4r prelimin\u00e4r och har inte genomg\u00e5tt ordinarie kvalitetsgranskning. Felaktiga v\u00e4rden kan d\u00e4rf\u00f6r visas emellan\u00e5t.<\/div><\/div><br \/>\n<script src=\"\/slbanalys\/js\/plotly-2.2.0.min.js\"><\/script><br \/>\n<script type=\"text\/javascript\">\nvar datta = [['Tid','Hornsgatan','Sveav\u00e4gen','Norrlandsgatan','Sankt Eriksgatan','Enk\u00f6pingsv\u00e4gen, Solna','Tulegatan, Sundbyberg','Turingegatan, S\u00f6dert\u00e4lje','Kungsgatan, Uppsala','Staketgatan, G\u00e4vle','Urban bakgrund Stockholm','Urban bakgrund Uppsala','Regional bakgrund Norr Malma'],['11:00',18.4075,28.1773,25.055,31.25,20.9675,24.3075,17.3878,37.5375,19.5682,12.2025,21.1175,5.505],['12:00',22.9175,23.7549,24.11,26.6825,15.39,23.0425,20.4189,48.3575,15.6038,12.92,20.86,8.11325],['13:00',21.525,20.314,23.085,28.615,16.295,26.2125,22.5361,52.115,14.8708,11.15,20.2525,10.063],['14:00',20.5725,16.1862,18.5875,31.4475,14.9325,26.615,20.9311,47.1225,21.3329,11.5175,23.575,10.0065],['15:00',22.8325,23.851,16.333,26.0775,18.1625,28.335,26.1689,53.3675,26.6342,9.39751,22.5975,10.8898],['16:00',24.6075,25.9195,24.285,35.59,24,36.5825,26.4976,47.3375,21.4852,11.215,21.9825,13.13],['17:00',30.705,30.5547,24.9175,39.3075,36.9325,36.0975,29.0274,48.71,21.3539,14.0625,19.12,15.4225],['18:00',26.9625,35.9295,26.6675,35.685,38.2,37.41,26.2264,40.4925,26.5808,13.9275,18.52,18.845],['19:00',30.155,41.1959,29.9625,41.03,37.5225,38.165,26.8687,36.4975,19.6657,14.06,17.7075,19.045],['20:00',25.2425,37.6461,27.93,38.055,27.8375,36.0625,23.5176,32.89,20.5561,12.7,17.3125,19.435],['21:00',27.865,36.787,24.6675,31.4,22.24,24.9025,21.9062,23.855,18.1193,12.9225,13.875,15.9525],['22:00',25.065,31.306,22.3975,27.3925,16.57,19.365,20.2853,27.4125,23.8149,10.7925,16.7575,16.5075],['23:00',25.815,34.0481,20.66,42.26,26.3875,28.865,19.2365,28.4875,26.3504,10.6025,17.7275,17.9825],['00:00',25.115,26.5079,24.865,26.935,16.695,19.88,16.055,22.3375,20.1065,11.815,13.3525,16.7025],['01:00',15.145,29.023,18.7075,19.03,10.9942,14.62,11.4937,16.6525,15.7495,7.15425,10.641,13.8075],['02:00',10.6685,13.6536,18.9125,10.8603,8.29726,9.75275,9.23784,13.8875,14.4696,6.38775,9.5885,11.3825],['03:00',18.307,12.1418,14.6025,27.749,7.173,8.55325,10.703,9.85326,13.134,5.52375,6.8805,8.08876],['04:00',8.88,10.9978,16.605,11.0085,5.5865,7.32875,9.78529,7.66225,10.006,5.117,5.9815,6.37725],['05:00',6.6035,15.8189,12.2125,8.9225,6.27975,9.56226,12.0585,7.04575,7.59516,5.22525,5.9895,5.735],['06:00',12.1252,21.913,10.7915,7.246,6.28851,11.285,8.98694,8.0675,9.06003,5.6425,5.59025,5.37675],['07:00',11.1985,4.87949,11.9225,9.5085,6.738,11.1135,9.94107,12.1525,11.825,6.81525,6.58175,6.1395],['08:00',11.7285,4.25564,18.4425,12.9265,12.0368,10.155,14.1422,13.37,13.3443,5.66475,7.67625,6.56976],['09:00',18.7475,6.48538,16.065,25.2525,13.542,18.17,12.3965,19.5975,12.7587,7.188,9.224,6.76725],['10:00',26.6675,12.0658,21.1475,36.32,18.3025,20.29,19.1719,35.9575,14.5748,8.237,13.2075,6.60225]];\n\nvar names = datta[0].slice(1,);\nvar xvals = new  Array(datta.length-1);\nvar yvals = new Array(names.length);\n \nfor (let i = 1; i < datta.length; i++) {\n    xvals[i-1] = datta[i][0];\n}\nfor (let i = 0; i < names.length; i++) {\n    yvals[i] = new Array(xvals.length);\n    for (let j = 0; j < xvals.length; j++) {\n        yvals[i][j] = datta[j+1][i+1];\n    }\n}\n\nvar traces = new Array(names.length);\nvar ymax = 0;\nfor (let i = 0; i < names.length; i++) {\n    mymax = Math.max(...yvals[i]);\n    ymax = Math.max(ymax, mymax);\n\n    var this_trace = {\n        hovertemplate: \"%{y:.1f}<br>%{data.name}: %{x}<extra><\/extra>\",\n        x: xvals,\n        y: yvals[i],\n        type: 'line',\n        name: names[i],\n        mode: 'lines+markers',\n        marker: {symbol: 'diamond'},\n        line: {width: 1}\n    }\n    if (names[i] == 'Gr\u00e4nsv\u00e4rde') {\n        this_trace.line = {\n            dash: 'dot',\n            color: 'rgb(0,0,0)',\n            width: 1.5\n        };\n    }\n\n    traces[i] = this_trace;\n}\n\nvar layout = {\n    title: {\n        text: '<b>Partikelhalter (mikrogram per kubikmeter)<\/b>',\n        size: 14\n    },\n    yaxis: {\n        range: [0, ymax+ymax\/10], \/\/ TODO fix range\n    },\n    xaxis: {\n        tickangle: 335,\n        nticks: 16,\n   \/\/     tickmode: 'array',\n   \/\/     tickvals: ['01\/01', '02\/01', '03\/01', '04\/01', '05\/01', '06\/01', '07\/01', '08\/01', '09\/01', '10\/01', '11\/01', '12\/01'],\n   \/\/     ticktext: ['1\/1', '1\/2', '1\/3', '1\/4', '1\/5', '1\/6', '1\/7', '1\/8', '1\/9', '1\/10', '1\/11', '1\/12'],\n        font: { size:10 },\n        title: {\n            font: {\n                size:  12\n            },\n  \/\/          text: '<i>__xlabel__<\/i>'\n        }\n    },\n    margin: {\n            l: 20,\n            r: 50,\n            t: 30,\n            b: 40\n    },\n    paper_bgcolor: \"rgb(241,241,241)\",\n    plot_bgcolor: \"rgb(241,241,241)\",\n    font: {\n        family: \"Arial\",\n        size: 12\n    }\n};\n\nvar mydiv = 'pm10' + '_chart';\nPlotly.newPlot(mydiv, traces, layout, {displayModeBar: false, scrollZoom: false});\n\n\n pm10_hideSeries.onclick = function() {\n    if(document.getElementById(\"pm10_hideSeries\").value==\"off\") {\n        document.getElementById(\"pm10_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"pm10_hideSeries\").value=\"on\";\n        var update = {\n            visible:  'legendonly'\n        };\n    } else {\n        document.getElementById(\"pm10_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"pm10_hideSeries\").value=\"off\";\n        document.getElementById(\"pm10_streetSeries\").value=\"off\";\n        document.getElementById(\"pm10_streetSeries\").className=\"button\";\n        document.getElementById(\"pm10_urbanSeries\").value=\"off\";\n        document.getElementById(\"pm10_urbanSeries\").className=\"button\";\n        var update = {\n            visible:  'true'\n        };\n    }\n    Plotly.restyle('pm10'+'_chart', update);    \n}\n\npm10_streetSeries.onclick = function() {\n    if (document.getElementById(\"pm10_streetSeries\").value==\"off\") {\n        Plotly.restyle('pm10'+'_chart', {visible: 'true'});    \n        Plotly.restyle('pm10'+'_chart', {visible: 'legendonly'}, [9,10,11]);    \n        document.getElementById(\"pm10_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"pm10_hideSeries\").value=\"on\";\n        document.getElementById(\"pm10_streetSeries\").value=\"on\";\n        document.getElementById(\"pm10_streetSeries\").className=\"button-active\";\n        document.getElementById(\"pm10_urbanSeries\").value=\"off\";\n        document.getElementById(\"pm10_urbanSeries\").className=\"button\";\n    } else {\n        document.getElementById(\"pm10_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"pm10_hideSeries\").value=\"off\";\n        document.getElementById(\"pm10_streetSeries\").value=\"off\";\n        document.getElementById(\"pm10_streetSeries\").className=\"button\";\n        document.getElementById(\"pm10_urbanSeries\").value=\"off\";\n        document.getElementById(\"pm10_urbanSeries\").className=\"button\";\n        Plotly.restyle('pm10'+'_chart', {visible: 'true'});    \n    }    \n}\n        \n\npm10_urbanSeries.onclick = function() {\n    if (document.getElementById(\"pm10_urbanSeries\").value==\"off\") {\n        Plotly.restyle('pm10'+'_chart', {visible: 'true'});    \n        Plotly.restyle('pm10'+'_chart', {visible: 'legendonly'}, [0,1,2,3,4,5,6,7,8]);    \n        document.getElementById(\"pm10_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"pm10_hideSeries\").value=\"on\";\n        document.getElementById(\"pm10_streetSeries\").value=\"off\";\n        document.getElementById(\"pm10_streetSeries\").className=\"button\";\n        document.getElementById(\"pm10_urbanSeries\").value=\"on\";\n        document.getElementById(\"pm10_urbanSeries\").className=\"button-active\";\n    } else {\n        document.getElementById(\"pm10_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"pm10_hideSeries\").value=\"off\";\n        document.getElementById(\"pm10_streetSeries\").value=\"off\";\n        document.getElementById(\"pm10_streetSeries\").className=\"button\";\n        document.getElementById(\"pm10_urbanSeries\").value=\"off\";\n        document.getElementById(\"pm10_urbanSeries\").className=\"button\";\n        Plotly.restyle('pm10'+'_chart', {visible: 'true'});    \n    }    \n}\n        \n\n\n<\/script>\n\n\n<br \/>\n<script type=\"text\/javascript\">\nvar datta = [['Tid','Lilla Essingen E4\/E20','H\u00e4ggvik, Sollentuna','Danderydsv\u00e4gen, Sollentuna','Ekmans v\u00e4g, Sollentuna','Sollentunav\u00e4gen, Sollentuna','Kumla g\u00e5rdsv\u00e4g N, Botkyrka','Hamngatan, Link\u00f6ping','Kungsgatan, Norrk\u00f6ping','\u00d6sterv\u00e4g, Gotland','R\u00e4vhagen, Gotland','Urban bakgrund Stockholm','Urban bakgrund Norrk\u00f6ping','Urban bakgrund Gotland','Regional bakgrund Norr Malma'],['11:00',20.7641,19.785,21.4475,14.3775,22.225,14.5975,25.23,25.1325,11.2426,17.8573,12.2025,12.3625,10.4035,5.505],['12:00',24.6403,17.0425,18.5175,16.7675,36.9375,14.7575,21.29,24.93,11.7693,21.3904,12.92,14.7275,9.45201,8.11325],['13:00',23.7706,16.4675,15.615,14.9875,16.785,15.935,25.5325,24.6375,11.2394,19.5361,11.15,15.7025,9.64059,10.063],['14:00',21.8851,15.325,16.0375,16.94,17.895,16.2275,32.0325,25.125,15.6348,17.7404,11.5175,16.6425,8.55211,10.0065],['15:00',19.0146,15.685,19.45,18.7925,25.4825,20.06,21.285,29.2975,12.0601,14.8425,9.39751,15.54,7.59334,10.8898],['16:00',20.9391,18.4025,22.725,22.81,22.65,36.285,37.96,36.5875,10.5617,20.6753,11.215,14.2775,8.92528,13.13],['17:00',21.1858,19.4925,29.995,28.6975,25.36,28.5025,33.5225,31.0725,15.15,19.0645,14.0625,13.2975,12.4978,15.4225],['18:00',21.4962,23.85,38.6925,28.2125,29.795,16.8925,40.5425,32.515,11.3934,16.3971,13.9275,17.59,8.64557,18.845],['19:00',24.8962,23.8725,26.87,38.125,38.9475,19.545,34.09,26.1675,10.7704,14.3328,14.06,14.3375,9.49216,19.045],['20:00',20.906,23.0475,24.6325,29.68,28.1825,17.1175,33.97,23.9925,12.1605,12.9818,12.7,12.6625,7.92189,19.435],['21:00',19.1353,23.9325,25.68,32.25,30.1325,15.1125,36.6475,25.66,12.0727,11.3405,12.9225,13.1425,6.86677,15.9525],['22:00',17.3771,20.77,27.5,32.95,34.3275,17.8675,21.5725,23.06,12.4537,15.7816,10.7925,11.7725,8.21378,16.5075],['23:00',13.6588,18.7525,27.2475,32.8575,29.03,28.995,21.0925,21.0575,9.29561,11.3199,10.6025,11.1353,9.19118,17.9825],['00:00',24.0709,15.9825,18.98,30.0875,21.2925,14.025,17.2925,19.535,8.36562,11.5414,11.815,11.245,8.55344,16.7025],['01:00',12.3157,11.8575,15.59,23.7925,16.75,11.2543,15.385,17.63,11.2071,11.063,7.15425,10.416,9.28992,13.8075],['02:00',10.4837,8.556,9.576,28.1075,11.1965,9.25226,11.63,20.125,8.88696,8.15338,6.38775,9.73575,8.33348,11.3825],['03:00',7.65215,7.46275,7.16825,14.5275,8.19075,6.7625,12.3725,16.2675,6.72879,13.9212,5.52375,10.7895,6.29974,8.08876],['04:00',7.74075,6.55025,6.80275,13.385,7.84,5.496,11.6658,15.8375,8.151,11.4691,5.117,12.23,5.16678,6.37725],['05:00',7.80472,7.777,7.585,9.08826,8.63251,6.6115,9.40451,14.255,6.07414,7.46132,5.22525,11.1025,5.85159,5.735],['06:00',7.18161,8.45724,8.42101,8.06425,9.5365,10.7595,9.61349,14.5875,6.86111,10.4426,5.6425,10.3322,6.94069,5.37675],['07:00',9.78714,8.41425,9.76125,7.91475,9.77925,8.18976,11.2525,14.4925,12.6434,15.4361,6.81525,10.925,9.70596,6.1395],['08:00',11.8433,9.1035,10.9317,10.0903,11.3918,8.31325,19.9175,77.51,10.9799,11.0579,5.66475,11.7075,9.56332,6.56976],['09:00',14.0769,9.41501,11.5225,12.287,17.6225,9.405,16.84,16.025,11.981,15.4492,7.188,10.31,10.6628,6.76725],['10:00',15.8767,10.1285,14.3525,26.78,14.4525,18.9618,20.355,20.3175,12.7139,17.6459,8.237,10.3698,9.34575,6.60225]];\n\nvar names = datta[0].slice(1,);\nvar xvals = new  Array(datta.length-1);\nvar yvals = new Array(names.length);\n \nfor (let i = 1; i < datta.length; i++) {\n    xvals[i-1] = datta[i][0];\n}\nfor (let i = 0; i < names.length; i++) {\n    yvals[i] = new Array(xvals.length);\n    for (let j = 0; j < xvals.length; j++) {\n        yvals[i][j] = datta[j+1][i+1];\n    }\n}\n\nvar traces = new Array(names.length);\nvar ymax = 0;\nfor (let i = 0; i < names.length; i++) {\n    mymax = Math.max(...yvals[i]);\n    ymax = Math.max(ymax, mymax);\n\n    var this_trace = {\n        hovertemplate: \"%{y:.1f}<br>%{data.name}: %{x}<extra><\/extra>\",\n        x: xvals,\n        y: yvals[i],\n        type: 'line',\n        name: names[i],\n        mode: 'lines+markers',\n        marker: {symbol: 'diamond'},\n        line: {width: 1}\n    }\n    if (names[i] == 'Gr\u00e4nsv\u00e4rde') {\n        this_trace.line = {\n            dash: 'dot',\n            color: 'rgb(0,0,0)',\n            width: 1.5\n        };\n    }\n\n    traces[i] = this_trace;\n}\n\nvar layout = {\n    title: {\n        text: '<b>Partikelhalter (mikrogram per kubikmeter)<\/b>',\n        size: 14\n    },\n    yaxis: {\n        range: [0, ymax+ymax\/10], \/\/ TODO fix range\n    },\n    xaxis: {\n        tickangle: 335,\n        nticks: 16,\n   \/\/     tickmode: 'array',\n   \/\/     tickvals: ['01\/01', '02\/01', '03\/01', '04\/01', '05\/01', '06\/01', '07\/01', '08\/01', '09\/01', '10\/01', '11\/01', '12\/01'],\n   \/\/     ticktext: ['1\/1', '1\/2', '1\/3', '1\/4', '1\/5', '1\/6', '1\/7', '1\/8', '1\/9', '1\/10', '1\/11', '1\/12'],\n        font: { size:10 },\n        title: {\n            font: {\n                size:  12\n            },\n  \/\/          text: '<i>__xlabel__<\/i>'\n        }\n    },\n    margin: {\n            l: 20,\n            r: 50,\n            t: 30,\n            b: 40\n    },\n    paper_bgcolor: \"rgb(241,241,241)\",\n    plot_bgcolor: \"rgb(241,241,241)\",\n    font: {\n        family: \"Arial\",\n        size: 12\n    }\n};\n\nvar mydiv = 'pm10_extended' + '_chart';\nPlotly.newPlot(mydiv, traces, layout, {displayModeBar: false, scrollZoom: false});\n\n\n pm10_extended_hideSeries.onclick = function() {\n    if(document.getElementById(\"pm10_extended_hideSeries\").value==\"off\") {\n        document.getElementById(\"pm10_extended_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"pm10_extended_hideSeries\").value=\"on\";\n        var update = {\n            visible:  'legendonly'\n        };\n    } else {\n        document.getElementById(\"pm10_extended_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"pm10_extended_hideSeries\").value=\"off\";\n        document.getElementById(\"pm10_extended_streetSeries\").value=\"off\";\n        document.getElementById(\"pm10_extended_streetSeries\").className=\"button\";\n        document.getElementById(\"pm10_extended_urbanSeries\").value=\"off\";\n        document.getElementById(\"pm10_extended_urbanSeries\").className=\"button\";\n        var update = {\n            visible:  'true'\n        };\n    }\n    Plotly.restyle('pm10_extended'+'_chart', update);    \n}\n\npm10_extended_streetSeries.onclick = function() {\n    if (document.getElementById(\"pm10_extended_streetSeries\").value==\"off\") {\n        Plotly.restyle('pm10_extended'+'_chart', {visible: 'true'});    \n        Plotly.restyle('pm10_extended'+'_chart', {visible: 'legendonly'}, [10,12,13]);    \n        document.getElementById(\"pm10_extended_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"pm10_extended_hideSeries\").value=\"on\";\n        document.getElementById(\"pm10_extended_streetSeries\").value=\"on\";\n        document.getElementById(\"pm10_extended_streetSeries\").className=\"button-active\";\n        document.getElementById(\"pm10_extended_urbanSeries\").value=\"off\";\n        document.getElementById(\"pm10_extended_urbanSeries\").className=\"button\";\n    } else {\n        document.getElementById(\"pm10_extended_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"pm10_extended_hideSeries\").value=\"off\";\n        document.getElementById(\"pm10_extended_streetSeries\").value=\"off\";\n        document.getElementById(\"pm10_extended_streetSeries\").className=\"button\";\n        document.getElementById(\"pm10_extended_urbanSeries\").value=\"off\";\n        document.getElementById(\"pm10_extended_urbanSeries\").className=\"button\";\n        Plotly.restyle('pm10_extended'+'_chart', {visible: 'true'});    \n    }    \n}\n        \n\npm10_extended_urbanSeries.onclick = function() {\n    if (document.getElementById(\"pm10_extended_urbanSeries\").value==\"off\") {\n        Plotly.restyle('pm10_extended'+'_chart', {visible: 'true'});    \n        Plotly.restyle('pm10_extended'+'_chart', {visible: 'legendonly'}, [0,1,2,3,4,5,6,7,8,9]);    \n        document.getElementById(\"pm10_extended_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"pm10_extended_hideSeries\").value=\"on\";\n        document.getElementById(\"pm10_extended_streetSeries\").value=\"off\";\n        document.getElementById(\"pm10_extended_streetSeries\").className=\"button\";\n        document.getElementById(\"pm10_extended_urbanSeries\").value=\"on\";\n        document.getElementById(\"pm10_extended_urbanSeries\").className=\"button-active\";\n    } else {\n        document.getElementById(\"pm10_extended_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"pm10_extended_hideSeries\").value=\"off\";\n        document.getElementById(\"pm10_extended_streetSeries\").value=\"off\";\n        document.getElementById(\"pm10_extended_streetSeries\").className=\"button\";\n        document.getElementById(\"pm10_extended_urbanSeries\").value=\"off\";\n        document.getElementById(\"pm10_extended_urbanSeries\").className=\"button\";\n        Plotly.restyle('pm10_extended'+'_chart', {visible: 'true'});    \n    }    \n}\n        \n\n\n<\/script>\n\n\n<br \/>\n<script type=\"text\/javascript\">\nvar datta = [['Tid','Hornsgatan','Sveav\u00e4gen','Norrlandsgatan','Sankt Eriksgatan','Enk\u00f6pingsv\u00e4gen, Solna','Tulegatan, Sundbyberg','Kungsgatan, Uppsala','Staketgatan, G\u00e4vle','Urban bakgrund Uppsala','Urban bakgrund Stockholm','Regional bakgrund Norr Malma'],['11:00',16.2325,8.17033,9.79449,8.425,5.43475,6.28125,13.8725,8.56425,3.95675,4.12328,4.332],['12:00',20.18,7.13107,10.2218,9.955,3.9205,6.83775,16.595,7.28975,3.1425,4.32899,4.28],['13:00',12.8822,5.21825,10.4648,9.005,6.29925,8.25475,24.23,8.77701,2.91825,3.39877,4.14875],['14:00',16.585,7.35117,13.7025,8.73,4.932,8.90575,20.09,9.0325,2.67225,3.36631,3.924],['15:00',15.7372,9.03474,12.5918,9.095,5.1555,5.339,26.065,9.02176,2.10075,3.07653,3.2665],['16:00',12.4825,9.70544,11.0573,8.5175,7.45,5.89575,24.0275,3.6505,2.23925,3.31001,3.22425],['17:00',15.7375,7.16938,12.2057,8.99251,5.72725,7.74126,22.66,7.3505,1.872,4.07276,3.06425],['18:00',17.76,8.16267,11.9187,6.3675,4.72825,6.2915,20.2075,8.05901,1.897,3.23382,2.90225],['19:00',13.542,6.12099,11.253,8.6375,4.1855,7.35167,25.3925,5.888,1.85925,3.04937,2.585],['20:00',14.7925,6.03915,10.3752,10.2475,5.3645,5.3305,19.76,7.75175,1.6395,3.47094,2.40175],['21:00',18.0175,9.82097,11.9425,9.17,4.75725,5.64075,25.1475,8.82001,1.884,3.23128,2.13625],['22:00',15.7213,10.93,13.2575,9.40251,5.678,3.84175,25.0175,11.969,1.599,3.01869,2.3345],['23:00',9.401,7.53899,14.2875,5.8525,4.7165,3.0415,19.7775,8.217,1.45585,2.27574,1.951],['00:00',7.82925,8.94679,17.935,4,3.9015,3.2278,17.172,5.86425,2.05525,2.43822,2.20425],['01:00',5.32175,7.25716,17.465,2.995,2.638,1.973,9.29175,3.56925,2.0145,2.1469,2.5875],['02:00',4.3675,4.82258,13.349,2.47,2.84225,1.8015,12.908,3.24675,1.6425,2.18547,2.7595],['03:00',4.4915,7.43069,10.513,4.68,2.69025,2.20067,5.355,3.355,1.752,2.17397,2.633],['04:00',5.235,7.74674,14.3777,2.5425,2.47425,2.1225,1.40225,3.0565,1.541,2.1661,2.1425],['05:00',5.7945,4.55296,4.726,2.0775,3.54675,2.369,1.5475,1.738,1.68525,2.58867,2.33825],['06:00',6.845,2.87666,22.212,2.56,2.95525,3.42325,6.28775,1.8095,2.78575,2.95084,2.68575],['07:00',8.144,3.81911,54.83,3.235,2.92025,4.70775,10.8865,2.83675,2.8845,3.38911,3.38675],['08:00',7.45875,2.48617,52.4475,3.655,3.494,2.3555,9.86575,3.0045,2.818,2.75985,3.7805],['09:00',7.33075,3.16981,45.9825,3.2025,3.36725,3.076,7.53333,3.58125,2.1575,2.67833,3.76025],['10:00',8.77625,4.8442,48.9375,4.93,4.2725,3.93025,15.1958,5.6985,2.36975,2.80512,3.387]];\n\nvar names = datta[0].slice(1,);\nvar xvals = new  Array(datta.length-1);\nvar yvals = new Array(names.length);\n \nfor (let i = 1; i < datta.length; i++) {\n    xvals[i-1] = datta[i][0];\n}\nfor (let i = 0; i < names.length; i++) {\n    yvals[i] = new Array(xvals.length);\n    for (let j = 0; j < xvals.length; j++) {\n        yvals[i][j] = datta[j+1][i+1];\n    }\n}\n\nvar traces = new Array(names.length);\nvar ymax = 0;\nfor (let i = 0; i < names.length; i++) {\n    mymax = Math.max(...yvals[i]);\n    ymax = Math.max(ymax, mymax);\n\n    var this_trace = {\n        hovertemplate: \"%{y:.1f}<br>%{data.name}: %{x}<extra><\/extra>\",\n        x: xvals,\n        y: yvals[i],\n        type: 'line',\n        name: names[i],\n        mode: 'lines+markers',\n        marker: {symbol: 'diamond'},\n        line: {width: 1}\n    }\n    if (names[i] == 'Gr\u00e4nsv\u00e4rde') {\n        this_trace.line = {\n            dash: 'dot',\n            color: 'rgb(0,0,0)',\n            width: 1.5\n        };\n    }\n\n    traces[i] = this_trace;\n}\n\nvar layout = {\n    title: {\n        text: '<b>Kv\u00e4vedioxidhalter (mikrogram per kubikmeter)<\/b>',\n        size: 14\n    },\n    yaxis: {\n        range: [0, ymax+ymax\/10], \/\/ TODO fix range\n    },\n    xaxis: {\n        tickangle: 335,\n        nticks: 16,\n   \/\/     tickmode: 'array',\n   \/\/     tickvals: ['01\/01', '02\/01', '03\/01', '04\/01', '05\/01', '06\/01', '07\/01', '08\/01', '09\/01', '10\/01', '11\/01', '12\/01'],\n   \/\/     ticktext: ['1\/1', '1\/2', '1\/3', '1\/4', '1\/5', '1\/6', '1\/7', '1\/8', '1\/9', '1\/10', '1\/11', '1\/12'],\n        font: { size:10 },\n        title: {\n            font: {\n                size:  12\n            },\n  \/\/          text: '<i>__xlabel__<\/i>'\n        }\n    },\n    margin: {\n            l: 20,\n            r: 50,\n            t: 30,\n            b: 40\n    },\n    paper_bgcolor: \"rgb(241,241,241)\",\n    plot_bgcolor: \"rgb(241,241,241)\",\n    font: {\n        family: \"Arial\",\n        size: 12\n    }\n};\n\nvar mydiv = 'no2' + '_chart';\nPlotly.newPlot(mydiv, traces, layout, {displayModeBar: false, scrollZoom: false});\n\n\n no2_hideSeries.onclick = function() {\n    if(document.getElementById(\"no2_hideSeries\").value==\"off\") {\n        document.getElementById(\"no2_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"no2_hideSeries\").value=\"on\";\n        var update = {\n            visible:  'legendonly'\n        };\n    } else {\n        document.getElementById(\"no2_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"no2_hideSeries\").value=\"off\";\n        document.getElementById(\"no2_streetSeries\").value=\"off\";\n        document.getElementById(\"no2_streetSeries\").className=\"button\";\n        document.getElementById(\"no2_urbanSeries\").value=\"off\";\n        document.getElementById(\"no2_urbanSeries\").className=\"button\";\n        var update = {\n            visible:  'true'\n        };\n    }\n    Plotly.restyle('no2'+'_chart', update);    \n}\n\nno2_streetSeries.onclick = function() {\n    if (document.getElementById(\"no2_streetSeries\").value==\"off\") {\n        Plotly.restyle('no2'+'_chart', {visible: 'true'});    \n        Plotly.restyle('no2'+'_chart', {visible: 'legendonly'}, [8,9,10]);    \n        document.getElementById(\"no2_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"no2_hideSeries\").value=\"on\";\n        document.getElementById(\"no2_streetSeries\").value=\"on\";\n        document.getElementById(\"no2_streetSeries\").className=\"button-active\";\n        document.getElementById(\"no2_urbanSeries\").value=\"off\";\n        document.getElementById(\"no2_urbanSeries\").className=\"button\";\n    } else {\n        document.getElementById(\"no2_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"no2_hideSeries\").value=\"off\";\n        document.getElementById(\"no2_streetSeries\").value=\"off\";\n        document.getElementById(\"no2_streetSeries\").className=\"button\";\n        document.getElementById(\"no2_urbanSeries\").value=\"off\";\n        document.getElementById(\"no2_urbanSeries\").className=\"button\";\n        Plotly.restyle('no2'+'_chart', {visible: 'true'});    \n    }    \n}\n        \n\nno2_urbanSeries.onclick = function() {\n    if (document.getElementById(\"no2_urbanSeries\").value==\"off\") {\n        Plotly.restyle('no2'+'_chart', {visible: 'true'});    \n        Plotly.restyle('no2'+'_chart', {visible: 'legendonly'}, [0,1,2,3,4,5,6,7]);    \n        document.getElementById(\"no2_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"no2_hideSeries\").value=\"on\";\n        document.getElementById(\"no2_streetSeries\").value=\"off\";\n        document.getElementById(\"no2_streetSeries\").className=\"button\";\n        document.getElementById(\"no2_urbanSeries\").value=\"on\";\n        document.getElementById(\"no2_urbanSeries\").className=\"button-active\";\n    } else {\n        document.getElementById(\"no2_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"no2_hideSeries\").value=\"off\";\n        document.getElementById(\"no2_streetSeries\").value=\"off\";\n        document.getElementById(\"no2_streetSeries\").className=\"button\";\n        document.getElementById(\"no2_urbanSeries\").value=\"off\";\n        document.getElementById(\"no2_urbanSeries\").className=\"button\";\n        Plotly.restyle('no2'+'_chart', {visible: 'true'});    \n    }    \n}\n        \n\n\n<\/script>\n\n\n<br \/>\n<script type=\"text\/javascript\">\nvar datta = [['Tid','Lilla Essingen E4\/E20','Kumla g\u00e5rdsv\u00e4g N, Botkyrka','H\u00e4ggvik, Sollentuna','Turingegatan, S\u00f6dert\u00e4lje','Kungsgatan, Norrk\u00f6ping','Hamngatan, Link\u00f6ping','Urban bakgrund Stockholm','Urban bakgrund Norrk\u00f6ping','Regional bakgrund Norr Malma'],['11:00',12.3481,11.075,6.049,17.496,9.25175,8.43201,4.12328,3.99575,4.332],['12:00',16.4274,9.145,5.245,18.6995,14.1198,6.578,4.32899,3.71975,4.28],['13:00',17.0721,11.7175,5.41,19.4825,12.5925,8.60425,3.39877,3.33675,4.14875],['14:00',16.3961,10.0825,5.338,26.29,13.0087,7.92525,3.36631,3.58775,3.924],['15:00',15.762,11.25,4.647,26.5825,9.793,7.75175,3.07653,3.63275,3.2665],['16:00',16.7885,8.405,3.6575,25.335,11.381,10.216,3.31001,3.28225,3.22425],['17:00',13.0332,8.105,3.64975,13.0273,11.3325,10.0307,4.07276,2.746,3.06425],['18:00',14.0962,9.1225,3.1485,0.23495,13.6678,9.45926,3.23382,2.881,2.90225],['19:00',10.5221,5.9075,1.97875,0.328975,8.636,9.27225,3.04937,2.72625,2.585],['20:00',10.789,5.5,3.026,0.39665,10.57,8.354,3.47094,3.0115,2.40175],['21:00',12.6577,4.8875,2.40075,0.432025,16.2413,12.6208,3.23128,5.304,2.13625],['22:00',11.0861,18.7525,1.9535,0.441975,21.615,16.8825,3.01869,5.5735,2.3345],['23:00',7.03894,2.2375,1.89125,0.518525,27.2925,14.8155,2.27574,4.08725,1.951],['00:00',4.37548,2.005,1.62475,0.574375,14.5125,12.0063,2.43822,3.8835,2.20425],['01:00',3.61875,1.8525,1.562,0.609426,10.001,6.44825,2.1469,3.9365,2.5875],['02:00',2.74423,1.8125,1.51525,0.624175,6.08775,5.4115,2.18547,3.27225,2.7595],['03:00',2.75866,1.705,1.36875,0.64605,6.21275,5.4015,2.17397,3.26425,2.633],['04:00',2.20096,1.6075,1.7945,0.6757,4.88975,4.33575,2.1661,3.24075,2.1425],['05:00',3.18221,1.775,1.88275,0.700525,2.95475,3.77975,2.58867,3.077,2.33825],['06:00',3.09952,2.3325,3.09675,0.633676,3.514,3.95975,2.95084,3.24625,2.68575],['07:00',5.97115,3.9425,3.02475,0.526225,5.726,4.23375,3.38911,4.124,3.38675],['08:00',6.19616,3.5525,3.677,0.56365,5.363,5.05225,2.75985,4.01275,3.7805],['09:00',6.8125,3.585,3.248,0.503651,5.01376,6.27475,2.67833,3.59375,3.76025],['10:00',7.6625,4.4625,3.50775,0.423775,7.718,6.353,2.80512,3.3495,3.387]];\n\nvar names = datta[0].slice(1,);\nvar xvals = new  Array(datta.length-1);\nvar yvals = new Array(names.length);\n \nfor (let i = 1; i < datta.length; i++) {\n    xvals[i-1] = datta[i][0];\n}\nfor (let i = 0; i < names.length; i++) {\n    yvals[i] = new Array(xvals.length);\n    for (let j = 0; j < xvals.length; j++) {\n        yvals[i][j] = datta[j+1][i+1];\n    }\n}\n\nvar traces = new Array(names.length);\nvar ymax = 0;\nfor (let i = 0; i < names.length; i++) {\n    mymax = Math.max(...yvals[i]);\n    ymax = Math.max(ymax, mymax);\n\n    var this_trace = {\n        hovertemplate: \"%{y:.1f}<br>%{data.name}: %{x}<extra><\/extra>\",\n        x: xvals,\n        y: yvals[i],\n        type: 'line',\n        name: names[i],\n        mode: 'lines+markers',\n        marker: {symbol: 'diamond'},\n        line: {width: 1}\n    }\n    if (names[i] == 'Gr\u00e4nsv\u00e4rde') {\n        this_trace.line = {\n            dash: 'dot',\n            color: 'rgb(0,0,0)',\n            width: 1.5\n        };\n    }\n\n    traces[i] = this_trace;\n}\n\nvar layout = {\n    title: {\n        text: '<b>Kv\u00e4vedioxidhalter (mikrogram per kubikmeter)<\/b>',\n        size: 14\n    },\n    yaxis: {\n        range: [0, ymax+ymax\/10], \/\/ TODO fix range\n    },\n    xaxis: {\n        tickangle: 335,\n        nticks: 16,\n   \/\/     tickmode: 'array',\n   \/\/     tickvals: ['01\/01', '02\/01', '03\/01', '04\/01', '05\/01', '06\/01', '07\/01', '08\/01', '09\/01', '10\/01', '11\/01', '12\/01'],\n   \/\/     ticktext: ['1\/1', '1\/2', '1\/3', '1\/4', '1\/5', '1\/6', '1\/7', '1\/8', '1\/9', '1\/10', '1\/11', '1\/12'],\n        font: { size:10 },\n        title: {\n            font: {\n                size:  12\n            },\n  \/\/          text: '<i>__xlabel__<\/i>'\n        }\n    },\n    margin: {\n            l: 20,\n            r: 50,\n            t: 30,\n            b: 40\n    },\n    paper_bgcolor: \"rgb(241,241,241)\",\n    plot_bgcolor: \"rgb(241,241,241)\",\n    font: {\n        family: \"Arial\",\n        size: 12\n    }\n};\n\nvar mydiv = 'no2_extended' + '_chart';\nPlotly.newPlot(mydiv, traces, layout, {displayModeBar: false, scrollZoom: false});\n\n\n no2_extended_hideSeries.onclick = function() {\n    if(document.getElementById(\"no2_extended_hideSeries\").value==\"off\") {\n        document.getElementById(\"no2_extended_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"no2_extended_hideSeries\").value=\"on\";\n        var update = {\n            visible:  'legendonly'\n        };\n    } else {\n        document.getElementById(\"no2_extended_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"no2_extended_hideSeries\").value=\"off\";\n        document.getElementById(\"no2_extended_streetSeries\").value=\"off\";\n        document.getElementById(\"no2_extended_streetSeries\").className=\"button\";\n        document.getElementById(\"no2_extended_urbanSeries\").value=\"off\";\n        document.getElementById(\"no2_extended_urbanSeries\").className=\"button\";\n        var update = {\n            visible:  'true'\n        };\n    }\n    Plotly.restyle('no2_extended'+'_chart', update);    \n}\n\nno2_extended_streetSeries.onclick = function() {\n    if (document.getElementById(\"no2_extended_streetSeries\").value==\"off\") {\n        Plotly.restyle('no2_extended'+'_chart', {visible: 'true'});    \n        Plotly.restyle('no2_extended'+'_chart', {visible: 'legendonly'}, [6,7,8]);    \n        document.getElementById(\"no2_extended_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"no2_extended_hideSeries\").value=\"on\";\n        document.getElementById(\"no2_extended_streetSeries\").value=\"on\";\n        document.getElementById(\"no2_extended_streetSeries\").className=\"button-active\";\n        document.getElementById(\"no2_extended_urbanSeries\").value=\"off\";\n        document.getElementById(\"no2_extended_urbanSeries\").className=\"button\";\n    } else {\n        document.getElementById(\"no2_extended_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"no2_extended_hideSeries\").value=\"off\";\n        document.getElementById(\"no2_extended_streetSeries\").value=\"off\";\n        document.getElementById(\"no2_extended_streetSeries\").className=\"button\";\n        document.getElementById(\"no2_extended_urbanSeries\").value=\"off\";\n        document.getElementById(\"no2_extended_urbanSeries\").className=\"button\";\n        Plotly.restyle('no2_extended'+'_chart', {visible: 'true'});    \n    }    \n}\n        \n\nno2_extended_urbanSeries.onclick = function() {\n    if (document.getElementById(\"no2_extended_urbanSeries\").value==\"off\") {\n        Plotly.restyle('no2_extended'+'_chart', {visible: 'true'});    \n        Plotly.restyle('no2_extended'+'_chart', {visible: 'legendonly'}, [0,1,2,3,4,5]);    \n        document.getElementById(\"no2_extended_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"no2_extended_hideSeries\").value=\"on\";\n        document.getElementById(\"no2_extended_streetSeries\").value=\"off\";\n        document.getElementById(\"no2_extended_streetSeries\").className=\"button\";\n        document.getElementById(\"no2_extended_urbanSeries\").value=\"on\";\n        document.getElementById(\"no2_extended_urbanSeries\").className=\"button-active\";\n    } else {\n        document.getElementById(\"no2_extended_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"no2_extended_hideSeries\").value=\"off\";\n        document.getElementById(\"no2_extended_streetSeries\").value=\"off\";\n        document.getElementById(\"no2_extended_streetSeries\").className=\"button\";\n        document.getElementById(\"no2_extended_urbanSeries\").value=\"off\";\n        document.getElementById(\"no2_extended_urbanSeries\").className=\"button\";\n        Plotly.restyle('no2_extended'+'_chart', {visible: 'true'});    \n    }    \n}\n        \n\n\n<\/script>\n\n\n<br \/>\n<script type=\"text\/javascript\">\nvar datta = [['Tid','Hornsgatan','Sankt Eriksgatan','Lilla Essingen E4\/E20','Enk\u00f6pingsv\u00e4gen, Solna','Tulegatan, Sundbyberg','Kumla g\u00e5rdsv\u00e4g N, Botkyrka','Turingegatan, S\u00f6dert\u00e4lje','Kungsgatan, Uppsala','Staketgatan, G\u00e4vle','Urban bakgrund Stockholm','Urban bakgrund Uppsala'],['11:00',5.16445,7.29148,8.0148,7.8295,6.06537,6.7465,5.32309,9.23149,4.44799,5.94518,6.90038],['12:00',5.50555,6.08519,8.11514,6.13725,5.46278,5.543,5.74974,8.59259,4.94948,5.7226,5.58667],['13:00',4.32167,4.91963,6.95068,5.78425,5.27315,5.67475,6.05033,7.69279,4.6107,4.79185,4.65685],['14:00',3.7887,4.40204,6.16602,4.81025,4.58537,4.35025,5.27995,6.90538,5.02909,4.33204,4.5937],['15:00',3.20148,3.51815,4.73546,4.053,3.83908,3.85625,5.15768,7.57852,5.10712,3.01704,4.50555],['16:00',3.52667,4.27278,5.15084,5.20876,4.71963,5.14925,4.98923,5.82519,3.77815,3.31074,4.10629],['17:00',3.9713,4.31611,5.14314,6.092,4.6363,4.5545,5.18059,4.78371,3.60434,3.48778,2.91982],['18:00',3.75519,4.26204,4.87212,6.96225,4.67111,3.56875,5.2666,4.48074,4.32465,3.27055,3.02833],['19:00',3.97593,4.93908,5.11002,6.67976,4.65297,4.08025,5.22685,4.89704,3.36291,3.39741,3.84797],['20:00',4.01222,5.47667,5.08833,5.79275,4.83685,4.09625,4.8289,4.89333,3.80249,3.74112,3.7813],['21:00',4.29833,4.8863,4.91865,4.612,3.75019,3.61725,4.73342,4.2387,3.60974,3.5,3.71574],['22:00',3.96944,4.03778,4.28384,3.59425,2.80278,4.00475,4.08322,4.38333,6.16582,2.83611,3.38092],['23:00',3.22648,4.365,3.11358,4.41875,3.42574,4.361,3.64598,3.77037,6.33628,2.34,2.75111],['00:00',3.37352,3.52982,4.38347,4.0825,3.23315,3.24225,3.4836,3.71074,4.70129,2.77463,2.76852],['01:00',2.69593,2.91167,3.10567,3.438,2.70778,2.883,2.87929,3.635,3.40508,2.37111,2.68167],['02:00',2.27463,2.21056,2.75191,2.97275,2.34074,2.7835,2.76323,3.32148,3.59921,2.09982,2.56334],['03:00',3.85889,5.19075,2.42407,2.91875,2.26741,2.652,2.98502,2.87852,3.49482,2.07167,2.28074],['04:00',2.04519,2.12204,2.32131,2.659,2.07074,2.432,2.89745,2.20611,2.91035,2.07907,2.03722],['05:00',1.79593,2.17741,2.6246,3.0125,2.5613,2.865,3.46727,2.16982,2.56683,2.26333,2.08944],['06:00',2.69796,2.14944,2.71457,3.14425,2.74075,3.675,3.07037,2.58482,2.64965,2.39815,2.27871],['07:00',2.93796,2.47908,3.30596,3.24775,2.71093,3.3075,3.13156,3.17222,3.12087,2.60778,2.56537],['08:00',2.49426,2.84444,3.38309,3.62975,2.62556,3.058,3.49797,3.0074,3.30548,2.37389,2.61203],['09:00',2.95982,3.7787,3.62202,3.76025,3.57963,3.0575,3.2643,3.17407,3.37043,2.41518,2.50815],['10:00',3.44315,4.17019,3.6295,4.03725,3.22648,4.04525,3.87944,4.11056,3.59407,2.49648,2.51111]];\n\nvar names = datta[0].slice(1,);\nvar xvals = new  Array(datta.length-1);\nvar yvals = new Array(names.length);\n \nfor (let i = 1; i < datta.length; i++) {\n    xvals[i-1] = datta[i][0];\n}\nfor (let i = 0; i < names.length; i++) {\n    yvals[i] = new Array(xvals.length);\n    for (let j = 0; j < xvals.length; j++) {\n        yvals[i][j] = datta[j+1][i+1];\n    }\n}\n\nvar traces = new Array(names.length);\nvar ymax = 0;\nfor (let i = 0; i < names.length; i++) {\n    mymax = Math.max(...yvals[i]);\n    ymax = Math.max(ymax, mymax);\n\n    var this_trace = {\n        hovertemplate: \"%{y:.1f}<br>%{data.name}: %{x}<extra><\/extra>\",\n        x: xvals,\n        y: yvals[i],\n        type: 'line',\n        name: names[i],\n        mode: 'lines+markers',\n        marker: {symbol: 'diamond'},\n        line: {width: 1}\n    }\n    if (names[i] == 'Gr\u00e4nsv\u00e4rde') {\n        this_trace.line = {\n            dash: 'dot',\n            color: 'rgb(0,0,0)',\n            width: 1.5\n        };\n    }\n\n    traces[i] = this_trace;\n}\n\nvar layout = {\n    title: {\n        text: '<b>Partikelhalter (mikrogram per kubikmeter)<\/b>',\n        size: 14\n    },\n    yaxis: {\n        range: [0, ymax+ymax\/10], \/\/ TODO fix range\n    },\n    xaxis: {\n        tickangle: 335,\n        nticks: 16,\n   \/\/     tickmode: 'array',\n   \/\/     tickvals: ['01\/01', '02\/01', '03\/01', '04\/01', '05\/01', '06\/01', '07\/01', '08\/01', '09\/01', '10\/01', '11\/01', '12\/01'],\n   \/\/     ticktext: ['1\/1', '1\/2', '1\/3', '1\/4', '1\/5', '1\/6', '1\/7', '1\/8', '1\/9', '1\/10', '1\/11', '1\/12'],\n        font: { size:10 },\n        title: {\n            font: {\n                size:  12\n            },\n  \/\/          text: '<i>__xlabel__<\/i>'\n        }\n    },\n    margin: {\n            l: 20,\n            r: 50,\n            t: 30,\n            b: 40\n    },\n    paper_bgcolor: \"rgb(241,241,241)\",\n    plot_bgcolor: \"rgb(241,241,241)\",\n    font: {\n        family: \"Arial\",\n        size: 12\n    }\n};\n\nvar mydiv = 'pm25' + '_chart';\nPlotly.newPlot(mydiv, traces, layout, {displayModeBar: false, scrollZoom: false});\n\n\n pm25_hideSeries.onclick = function() {\n    if(document.getElementById(\"pm25_hideSeries\").value==\"off\") {\n        document.getElementById(\"pm25_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"pm25_hideSeries\").value=\"on\";\n        var update = {\n            visible:  'legendonly'\n        };\n    } else {\n        document.getElementById(\"pm25_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"pm25_hideSeries\").value=\"off\";\n        document.getElementById(\"pm25_streetSeries\").value=\"off\";\n        document.getElementById(\"pm25_streetSeries\").className=\"button\";\n        document.getElementById(\"pm25_urbanSeries\").value=\"off\";\n        document.getElementById(\"pm25_urbanSeries\").className=\"button\";\n        var update = {\n            visible:  'true'\n        };\n    }\n    Plotly.restyle('pm25'+'_chart', update);    \n}\n\npm25_streetSeries.onclick = function() {\n    if (document.getElementById(\"pm25_streetSeries\").value==\"off\") {\n        Plotly.restyle('pm25'+'_chart', {visible: 'true'});    \n        Plotly.restyle('pm25'+'_chart', {visible: 'legendonly'}, [9,10]);    \n        document.getElementById(\"pm25_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"pm25_hideSeries\").value=\"on\";\n        document.getElementById(\"pm25_streetSeries\").value=\"on\";\n        document.getElementById(\"pm25_streetSeries\").className=\"button-active\";\n        document.getElementById(\"pm25_urbanSeries\").value=\"off\";\n        document.getElementById(\"pm25_urbanSeries\").className=\"button\";\n    } else {\n        document.getElementById(\"pm25_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"pm25_hideSeries\").value=\"off\";\n        document.getElementById(\"pm25_streetSeries\").value=\"off\";\n        document.getElementById(\"pm25_streetSeries\").className=\"button\";\n        document.getElementById(\"pm25_urbanSeries\").value=\"off\";\n        document.getElementById(\"pm25_urbanSeries\").className=\"button\";\n        Plotly.restyle('pm25'+'_chart', {visible: 'true'});    \n    }    \n}\n        \n\npm25_urbanSeries.onclick = function() {\n    if (document.getElementById(\"pm25_urbanSeries\").value==\"off\") {\n        Plotly.restyle('pm25'+'_chart', {visible: 'true'});    \n        Plotly.restyle('pm25'+'_chart', {visible: 'legendonly'}, [0,1,2,3,4,5,6,7,8]);    \n        document.getElementById(\"pm25_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"pm25_hideSeries\").value=\"on\";\n        document.getElementById(\"pm25_streetSeries\").value=\"off\";\n        document.getElementById(\"pm25_streetSeries\").className=\"button\";\n        document.getElementById(\"pm25_urbanSeries\").value=\"on\";\n        document.getElementById(\"pm25_urbanSeries\").className=\"button-active\";\n    } else {\n        document.getElementById(\"pm25_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"pm25_hideSeries\").value=\"off\";\n        document.getElementById(\"pm25_streetSeries\").value=\"off\";\n        document.getElementById(\"pm25_streetSeries\").className=\"button\";\n        document.getElementById(\"pm25_urbanSeries\").value=\"off\";\n        document.getElementById(\"pm25_urbanSeries\").className=\"button\";\n        Plotly.restyle('pm25'+'_chart', {visible: 'true'});    \n    }    \n}\n        \n\n\n<\/script>\n\n\n<br \/>\n<script type=\"text\/javascript\">\nvar datta = [['Tid','H\u00e4ggvik, Sollentuna','Danderydsv\u00e4gen, Sollentuna','Sollentunav\u00e4gen, Sollentuna','Ekmans v\u00e4g, Sollentuna','Hamngatan, Link\u00f6ping','Kungsgatan, Norrk\u00f6ping','\u00d6sterv\u00e4g, Gotland','R\u00e4vhagen, Gotland','Urban bakgrund Stockholm','Urban bakgrund Norrk\u00f6ping','Urban bakgrund Gotland','Regional bakgrund Norr Malma'],['11:00',6.85111,6.36389,7.01186,4.97222,6.01371,7.15019,6.73164,6.71528,5.94518,5.52,5.33675,1.77426],['12:00',5.66129,4.87389,6.59888,4.40574,5.11703,6.91186,6.50722,6.91096,5.7226,5.45944,5.17849,2.21],['13:00',5.2,4.47815,4.91648,4.1363,4.16074,5.3176,6.17461,6.1516,4.79185,4.94019,4.96223,3.3637],['14:00',4.19278,3.47093,4.05204,3.56371,4.01685,5.28722,5.41174,4.44663,4.33204,4.88648,3.82883,3.11574],['15:00',3.97667,3.50556,4.10075,3.87796,3.19297,5.31519,3.7427,4.28775,3.01704,3.71315,2.77456,3.03204],['16:00',4.62926,4.01,4.30185,4.30148,4.0976,4.52834,4.43645,5.61831,3.31074,2.74241,3.79154,3.35518],['17:00',4.16556,4.21852,3.90333,4.1913,3.64037,3.59778,5.11404,5.23071,3.48778,2.52019,4.24845,3.86797],['18:00',4.10815,4.27722,4.13204,4.13852,4.11204,3.97537,4.72625,4.95724,3.27055,3.08648,3.84258,4.03222],['19:00',4.16444,4.09278,5.03686,4.21204,3.92185,3.02111,4.7333,4.76752,3.39741,3.50222,4.02197,3.08926],['20:00',4.2226,3.86074,4.19907,4.01537,4.50742,3.2337,5.22701,4.77876,3.74112,2.35741,4.08249,2.80204],['21:00',3.74759,3.51685,3.7663,4.30148,4.63741,3.4813,5.04491,4.38866,3.5,2.665,3.63486,3.20852],['22:00',2.77463,3.14204,3.38204,3.63148,3.81519,3.47111,4.58389,4.95752,2.83611,2.60574,3.49526,3.52945],['23:00',2.89333,3.33,3.65445,3.81519,3.64148,3.65352,4.17451,4.03482,2.34,2.54333,3.79957,2.77797],['00:00',3.02685,3.06463,3.32426,3.95407,3.48815,3.8113,3.43517,3.28658,2.77463,2.88203,2.9773,2.78759],['01:00',2.59333,2.74334,3.07204,3.66593,3.65185,3.49704,3.20662,2.51687,2.37111,2.9726,2.37783,2.78556],['02:00',2.19297,2.25482,2.42611,6.25352,3.49796,4.14463,3.25145,2.21549,2.09982,3.29019,2.23386,2.73685],['03:00',2.03,1.97815,2.05426,3.27518,3.87241,4.19204,2.38359,3.56854,2.07167,3.6063,2.11813,2.31389],['04:00',2.13352,2.06482,2.0876,3.29556,3.66778,4.2913,2.80124,3.07475,2.07907,4.04148,2.11642,2.00963],['05:00',2.46296,2.42704,2.50704,2.66889,3.23222,4.27963,2.72073,2.62645,2.26333,4.08389,2.2618,1.86426],['06:00',2.66278,2.68852,2.64259,2.76667,3.18444,4.28426,2.94316,3.13389,2.39815,3.85648,2.49756,1.92315],['07:00',2.57778,2.62426,2.54963,2.70945,3.5263,4.08518,4.06688,4.00051,2.60778,3.76611,3.07672,2.18685],['08:00',2.63796,2.68148,2.66833,2.70241,4.52944,9.77798,3.93013,3.50943,2.37389,3.63537,3.17808,2.31426],['09:00',2.39,2.48148,2.72889,2.65815,3.75778,3.87667,4.54824,4.37579,2.41518,3.41204,3.67998,2.28797],['10:00',2.39889,2.52981,2.69759,3.6213,3.87815,4.18389,4.26762,4.77966,2.49648,3.25296,3.37615,1.8187]];\n\nvar names = datta[0].slice(1,);\nvar xvals = new  Array(datta.length-1);\nvar yvals = new Array(names.length);\n \nfor (let i = 1; i < datta.length; i++) {\n    xvals[i-1] = datta[i][0];\n}\nfor (let i = 0; i < names.length; i++) {\n    yvals[i] = new Array(xvals.length);\n    for (let j = 0; j < xvals.length; j++) {\n        yvals[i][j] = datta[j+1][i+1];\n    }\n}\n\nvar traces = new Array(names.length);\nvar ymax = 0;\nfor (let i = 0; i < names.length; i++) {\n    mymax = Math.max(...yvals[i]);\n    ymax = Math.max(ymax, mymax);\n\n    var this_trace = {\n        hovertemplate: \"%{y:.1f}<br>%{data.name}: %{x}<extra><\/extra>\",\n        x: xvals,\n        y: yvals[i],\n        type: 'line',\n        name: names[i],\n        mode: 'lines+markers',\n        marker: {symbol: 'diamond'},\n        line: {width: 1}\n    }\n    if (names[i] == 'Gr\u00e4nsv\u00e4rde') {\n        this_trace.line = {\n            dash: 'dot',\n            color: 'rgb(0,0,0)',\n            width: 1.5\n        };\n    }\n\n    traces[i] = this_trace;\n}\n\nvar layout = {\n    title: {\n        text: '<b>Partikelhalter (mikrogram per kubikmeter)<\/b>',\n        size: 14\n    },\n    yaxis: {\n        range: [0, ymax+ymax\/10], \/\/ TODO fix range\n    },\n    xaxis: {\n        tickangle: 335,\n        nticks: 16,\n   \/\/     tickmode: 'array',\n   \/\/     tickvals: ['01\/01', '02\/01', '03\/01', '04\/01', '05\/01', '06\/01', '07\/01', '08\/01', '09\/01', '10\/01', '11\/01', '12\/01'],\n   \/\/     ticktext: ['1\/1', '1\/2', '1\/3', '1\/4', '1\/5', '1\/6', '1\/7', '1\/8', '1\/9', '1\/10', '1\/11', '1\/12'],\n        font: { size:10 },\n        title: {\n            font: {\n                size:  12\n            },\n  \/\/          text: '<i>__xlabel__<\/i>'\n        }\n    },\n    margin: {\n            l: 20,\n            r: 50,\n            t: 30,\n            b: 40\n    },\n    paper_bgcolor: \"rgb(241,241,241)\",\n    plot_bgcolor: \"rgb(241,241,241)\",\n    font: {\n        family: \"Arial\",\n        size: 12\n    }\n};\n\nvar mydiv = 'pm25_extended' + '_chart';\nPlotly.newPlot(mydiv, traces, layout, {displayModeBar: false, scrollZoom: false});\n\n\n pm25_extended_hideSeries.onclick = function() {\n    if(document.getElementById(\"pm25_extended_hideSeries\").value==\"off\") {\n        document.getElementById(\"pm25_extended_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"pm25_extended_hideSeries\").value=\"on\";\n        var update = {\n            visible:  'legendonly'\n        };\n    } else {\n        document.getElementById(\"pm25_extended_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"pm25_extended_hideSeries\").value=\"off\";\n        document.getElementById(\"pm25_extended_streetSeries\").value=\"off\";\n        document.getElementById(\"pm25_extended_streetSeries\").className=\"button\";\n        document.getElementById(\"pm25_extended_urbanSeries\").value=\"off\";\n        document.getElementById(\"pm25_extended_urbanSeries\").className=\"button\";\n        var update = {\n            visible:  'true'\n        };\n    }\n    Plotly.restyle('pm25_extended'+'_chart', update);    \n}\n\npm25_extended_streetSeries.onclick = function() {\n    if (document.getElementById(\"pm25_extended_streetSeries\").value==\"off\") {\n        Plotly.restyle('pm25_extended'+'_chart', {visible: 'true'});    \n        Plotly.restyle('pm25_extended'+'_chart', {visible: 'legendonly'}, [8,9,10,11]);    \n        document.getElementById(\"pm25_extended_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"pm25_extended_hideSeries\").value=\"on\";\n        document.getElementById(\"pm25_extended_streetSeries\").value=\"on\";\n        document.getElementById(\"pm25_extended_streetSeries\").className=\"button-active\";\n        document.getElementById(\"pm25_extended_urbanSeries\").value=\"off\";\n        document.getElementById(\"pm25_extended_urbanSeries\").className=\"button\";\n    } else {\n        document.getElementById(\"pm25_extended_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"pm25_extended_hideSeries\").value=\"off\";\n        document.getElementById(\"pm25_extended_streetSeries\").value=\"off\";\n        document.getElementById(\"pm25_extended_streetSeries\").className=\"button\";\n        document.getElementById(\"pm25_extended_urbanSeries\").value=\"off\";\n        document.getElementById(\"pm25_extended_urbanSeries\").className=\"button\";\n        Plotly.restyle('pm25_extended'+'_chart', {visible: 'true'});    \n    }    \n}\n        \n\npm25_extended_urbanSeries.onclick = function() {\n    if (document.getElementById(\"pm25_extended_urbanSeries\").value==\"off\") {\n        Plotly.restyle('pm25_extended'+'_chart', {visible: 'true'});    \n        Plotly.restyle('pm25_extended'+'_chart', {visible: 'legendonly'}, [0,1,2,4,5,6,7]);    \n        document.getElementById(\"pm25_extended_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"pm25_extended_hideSeries\").value=\"on\";\n        document.getElementById(\"pm25_extended_streetSeries\").value=\"off\";\n        document.getElementById(\"pm25_extended_streetSeries\").className=\"button\";\n        document.getElementById(\"pm25_extended_urbanSeries\").value=\"on\";\n        document.getElementById(\"pm25_extended_urbanSeries\").className=\"button-active\";\n    } else {\n        document.getElementById(\"pm25_extended_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"pm25_extended_hideSeries\").value=\"off\";\n        document.getElementById(\"pm25_extended_streetSeries\").value=\"off\";\n        document.getElementById(\"pm25_extended_streetSeries\").className=\"button\";\n        document.getElementById(\"pm25_extended_urbanSeries\").value=\"off\";\n        document.getElementById(\"pm25_extended_urbanSeries\").className=\"button\";\n        Plotly.restyle('pm25_extended'+'_chart', {visible: 'true'});    \n    }    \n}\n        \n\n\n<\/script>\n\n\n<br \/>\n<script type=\"text\/javascript\">\nvar datta = [['Tid','Urban bakgrund Stockholm','Regional bakgrund Norr Malma'],['11:00',74.8632,76.8],['12:00',78.2699,84.3451],['13:00',83.5811,91.9351],['14:00',93.3408,99.8401],['15:00',106.651,99.1975],['16:00',105.475,98.53],['17:00',105.62,95.9775],['18:00',106.581,95.88],['19:00',107.219,103.125],['20:00',99.4957,102.65],['21:00',96.4379,95.0475],['22:00',96.0287,89.9],['23:00',105.104,92.9275],['00:00',109.004,98.7576],['01:00',105.687,103.4],['02:00',101.406,103.275],['03:00',99.0541,99.9401],['04:00',96.9901,96.66],['05:00',97.1565,94.235],['06:00',94.5846,94.8824],['07:00',94.6793,97.67],['08:00',100.365,100.7],['09:00',104.084,103.925],['10:00',106.311,105]];\n\nvar names = datta[0].slice(1,);\nvar xvals = new  Array(datta.length-1);\nvar yvals = new Array(names.length);\n \nfor (let i = 1; i < datta.length; i++) {\n    xvals[i-1] = datta[i][0];\n}\nfor (let i = 0; i < names.length; i++) {\n    yvals[i] = new Array(xvals.length);\n    for (let j = 0; j < xvals.length; j++) {\n        yvals[i][j] = datta[j+1][i+1];\n    }\n}\n\nvar traces = new Array(names.length);\nvar ymax = 0;\nfor (let i = 0; i < names.length; i++) {\n    mymax = Math.max(...yvals[i]);\n    ymax = Math.max(ymax, mymax);\n\n    var this_trace = {\n        hovertemplate: \"%{y:.1f}<br>%{data.name}: %{x}<extra><\/extra>\",\n        x: xvals,\n        y: yvals[i],\n        type: 'line',\n        name: names[i],\n        mode: 'lines+markers',\n        marker: {symbol: 'diamond'},\n        line: {width: 1}\n    }\n    if (names[i] == 'Gr\u00e4nsv\u00e4rde') {\n        this_trace.line = {\n            dash: 'dot',\n            color: 'rgb(0,0,0)',\n            width: 1.5\n        };\n    }\n\n    traces[i] = this_trace;\n}\n\nvar layout = {\n    title: {\n        text: '<b>Ozonhalter (mikrogram per kubikmeter)<\/b>',\n        size: 14\n    },\n    yaxis: {\n        range: [0, ymax+ymax\/10], \/\/ TODO fix range\n    },\n    xaxis: {\n        tickangle: 335,\n        nticks: 16,\n   \/\/     tickmode: 'array',\n   \/\/     tickvals: ['01\/01', '02\/01', '03\/01', '04\/01', '05\/01', '06\/01', '07\/01', '08\/01', '09\/01', '10\/01', '11\/01', '12\/01'],\n   \/\/     ticktext: ['1\/1', '1\/2', '1\/3', '1\/4', '1\/5', '1\/6', '1\/7', '1\/8', '1\/9', '1\/10', '1\/11', '1\/12'],\n        font: { size:10 },\n        title: {\n            font: {\n                size:  12\n            },\n  \/\/          text: '<i>__xlabel__<\/i>'\n        }\n    },\n    margin: {\n            l: 20,\n            r: 50,\n            t: 30,\n            b: 40\n    },\n    paper_bgcolor: \"rgb(241,241,241)\",\n    plot_bgcolor: \"rgb(241,241,241)\",\n    font: {\n        family: \"Arial\",\n        size: 12\n    }\n};\n\nvar mydiv = 'o3' + '_chart';\nPlotly.newPlot(mydiv, traces, layout, {displayModeBar: false, scrollZoom: false});\n\n\n o3_hideSeries.onclick = function() {\n    if(document.getElementById(\"o3_hideSeries\").value==\"off\") {\n        document.getElementById(\"o3_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"o3_hideSeries\").value=\"on\";\n        var update = {\n            visible:  'legendonly'\n        };\n    } else {\n        document.getElementById(\"o3_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"o3_hideSeries\").value=\"off\";\n        document.getElementById(\"o3_streetSeries\").value=\"off\";\n        document.getElementById(\"o3_streetSeries\").className=\"button\";\n        document.getElementById(\"o3_urbanSeries\").value=\"off\";\n        document.getElementById(\"o3_urbanSeries\").className=\"button\";\n        var update = {\n            visible:  'true'\n        };\n    }\n    Plotly.restyle('o3'+'_chart', update);    \n}\n\no3_streetSeries.onclick = function() {\n    if (document.getElementById(\"o3_streetSeries\").value==\"off\") {\n        Plotly.restyle('o3'+'_chart', {visible: 'true'});    \n        Plotly.restyle('o3'+'_chart', {visible: 'legendonly'}, [0,1]);    \n        document.getElementById(\"o3_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"o3_hideSeries\").value=\"on\";\n        document.getElementById(\"o3_streetSeries\").value=\"on\";\n        document.getElementById(\"o3_streetSeries\").className=\"button-active\";\n        document.getElementById(\"o3_urbanSeries\").value=\"off\";\n        document.getElementById(\"o3_urbanSeries\").className=\"button\";\n    } else {\n        document.getElementById(\"o3_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"o3_hideSeries\").value=\"off\";\n        document.getElementById(\"o3_streetSeries\").value=\"off\";\n        document.getElementById(\"o3_streetSeries\").className=\"button\";\n        document.getElementById(\"o3_urbanSeries\").value=\"off\";\n        document.getElementById(\"o3_urbanSeries\").className=\"button\";\n        Plotly.restyle('o3'+'_chart', {visible: 'true'});    \n    }    \n}\n        \n\no3_urbanSeries.onclick = function() {\n    if (document.getElementById(\"o3_urbanSeries\").value==\"off\") {\n        Plotly.restyle('o3'+'_chart', {visible: 'true'});    \n        Plotly.restyle('o3'+'_chart', {visible: 'legendonly'}, []);    \n        document.getElementById(\"o3_hideSeries\").innerHTML=\"Visa alla\";\n        document.getElementById(\"o3_hideSeries\").value=\"on\";\n        document.getElementById(\"o3_streetSeries\").value=\"off\";\n        document.getElementById(\"o3_streetSeries\").className=\"button\";\n        document.getElementById(\"o3_urbanSeries\").value=\"on\";\n        document.getElementById(\"o3_urbanSeries\").className=\"button-active\";\n    } else {\n        document.getElementById(\"o3_hideSeries\").innerHTML=\"D\u00f6lj alla\";\n        document.getElementById(\"o3_hideSeries\").value=\"off\";\n        document.getElementById(\"o3_streetSeries\").value=\"off\";\n        document.getElementById(\"o3_streetSeries\").className=\"button\";\n        document.getElementById(\"o3_urbanSeries\").value=\"off\";\n        document.getElementById(\"o3_urbanSeries\").className=\"button\";\n        Plotly.restyle('o3'+'_chart', {visible: 'true'});    \n    }    \n}\n        \n\n\n<\/script>\n\n\n<br \/>\n<div class='content-column one_third last_column'><\/div><div class='clear_column'><\/div><br \/>\n<script>\njQuery(document).ready(function(){\n    jQuery('#pm10_dygnsnorm').on('click', function(event) {        \n        jQuery('#pm10dy').toggle('show');\n        jQuery(\"#pm10_dygnsnorm\").toggleClass(\"button button-active\");\n    });\n});\n<\/script>\n<script>\njQuery(document).ready(function(){\n    jQuery('#pm10_extended_dygnsnorm').on('click', function(event) {        \n        jQuery('#pm10_extendeddy').toggle('show');\n        jQuery(\"#pm10_extended_dygnsnorm\").toggleClass(\"button button-active\");\n    });\n});\n<\/script>\n<script>\njQuery(document).ready(function(){\n    jQuery('#no2_dygnsnorm').on('click', function(event) {        \n        jQuery('#no2dy').toggle('show');\n        jQuery(\"#no2_dygnsnorm\").toggleClass(\"button button-active\");\n    });\n});\n<\/script>\n<script>\njQuery(document).ready(function(){\n    jQuery('#no2_extended_dygnsnorm').on('click', function(event) {        \n        jQuery('#no2_extendeddy').toggle('show');\n        jQuery(\"#no2_extended_dygnsnorm\").toggleClass(\"button button-active\");\n    });\n});\n<\/script>\n<script>\njQuery(document).ready(function(){\n    jQuery('#pm25_dygnsnorm').on('click', function(event) {        \n        jQuery('#pm25dy').toggle('show');\n        jQuery(\"#pm25_dygnsnorm\").toggleClass(\"button button-active\");\n    });\n});\n<\/script>\n<script>\njQuery(document).ready(function(){\n    jQuery('#o3_dygnsnorm').on('click', function(event) {        \n        jQuery('#o3dy').toggle('show');\n        jQuery(\"#o3_dygnsnorm\").toggleClass(\"button button-active\");\n    });\n});\n<\/script>\n\n<br \/>\n<script>jQuery(document).ready(function ($) {setTimeout(function() {$('#tab1_extended').hide();$('#tab2').hide(); $('#tab2_extended').hide();$('#tab3').hide();$('#tab3_extended').hide();$('#tab4').hide();},300);});<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p><a href=\"http:\/\/puppetmaster.slb.nu\/slbanalys\/index.php\/luften-idag\/\"><strong>Luften idag:<\/strong> Dagens och senaste dygnets luftkvalitet vid v\u00e5ra m\u00e4tstationer, samt prognos f\u00f6r i morgon.<\/a><\/p>\n","protected":false},"author":1,"featured_media":811,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-templates\/full-width.php","meta":[],"_links":{"self":[{"href":"https:\/\/www.slb.nu\/slbanalys\/wp-json\/wp\/v2\/pages\/434"}],"collection":[{"href":"https:\/\/www.slb.nu\/slbanalys\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.slb.nu\/slbanalys\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.slb.nu\/slbanalys\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.slb.nu\/slbanalys\/wp-json\/wp\/v2\/comments?post=434"}],"version-history":[{"count":498,"href":"https:\/\/www.slb.nu\/slbanalys\/wp-json\/wp\/v2\/pages\/434\/revisions"}],"predecessor-version":[{"id":6156,"href":"https:\/\/www.slb.nu\/slbanalys\/wp-json\/wp\/v2\/pages\/434\/revisions\/6156"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.slb.nu\/slbanalys\/wp-json\/wp\/v2\/media\/811"}],"wp:attachment":[{"href":"https:\/\/www.slb.nu\/slbanalys\/wp-json\/wp\/v2\/media?parent=434"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}