【问题标题】:Change Javascript Object Array data更改 Javascript 对象数组数据
【发布时间】:2017-12-03 16:49:58
【问题描述】:

如何输入自己的数据或硬编码数据,而不是使用this example 中的forEach() 函数?

例如,我有自己的数据,只是夏威夷、阿拉斯加和蒙大拿州的温度相同(高温:60,中:45,低温:40)。

理想情况下,我将输入状态数据的简单 excel/csv 文件。

这是来自源的forEach()

var sampleData ={}; /* Sample random data. */   
["HI", "AK", "FL", "SC", "GA", "AL", "NC", "TN", "RI", "CT", "MA",
"ME", "NH", "VT", "NY", "NJ", "PA", "DE", "MD", "WV", "KY", "OH", 
"MI", "WY", "MT", "ID", "WA", "DC", "TX", "CA", "AZ", "NV", "UT", 
"CO", "NM", "OR", "ND", "SD", "NE", "IA", "MS", "IN", "IL", "MN", 
"WI", "MO", "AR", "OK", "KS", "LS", "VA"]
    .forEach(function(d){ 
        var low=Math.round(100*Math.random()), 
            mid=Math.round(100*Math.random()), 
            high=Math.round(100*Math.random());
        sampleData[d]={low:d3.min([low,mid,high]), high:d3.max([low,mid,high]), 
                avg:Math.round((low+mid+high)/3), color:d3.interpolate("#ffffcc", "#800026")(low/100)}; 
    });

【问题讨论】:

    标签: javascript d3.js


    【解决方案1】:

    如果您只想要这三个状态而不想要forEach(),这就是您需要的结构:

    var sampleData = {
      HI: {
        low: 40,
        avg: 45,
        high: 60
      },
      AL: {
        low: 40,
        avg: 45,
        high: 60
      },
      MT: {
        low: 40,
        avg: 45,
        high: 60
      },
    }
    

    此外,还有一个颜色属性(我没有在这里显示)和一个填充属性,我为此编写了一个三元组(因为您的数据中只有三个状态)。

    这是更新后的代码:http://bl.ocks.org/anonymous/60b445b86494aac36bf04283e674190e/a1e9043087aa27312f17fdf9575b2f0654330c22

    【讨论】:

      猜你喜欢
      • 2016-03-22
      • 1970-01-01
      • 2017-03-01
      • 2017-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-12
      • 1970-01-01
      相关资源
      最近更新 更多