gpt4 book ai didi

javascript - D3 使用对象数组从键中获取值

转载 作者:行者123 更新时间:2023-11-30 17:34:06 25 4
gpt4 key购买 nike

因此,我阅读了一个关于国家/地区 GDP 的 csv 文件,并过滤掉了不需要的列和国家/地区。现在我想知道如何从此对象数组中提取值并使用它们为多系列折线图创建 x 轴和 y 轴。这是我的代码

    function country(element) {
return element.CountryName == "Brazil" ||
element.CountryName == "China" ||
element.CountryName == "Russian Federation" ||
element.CountryName == "United Kingdom" ||
element.CountryName == "United States" ||
element.CountryName == "Germany";
}
d3.csv("GDP.csv", function(d) {
return {
CountryName : d["Country Name"],
Indicator : d["Indicator Name"],
y2004 : d["2004"],
y2005 : d["2005"],
y2006 : d["2006"],
y2007 : d["2007"],
y2008 : d["2008"],
y2009 : d["2009"],
y2010 : d["2010"],
y2011 : d["2011"],
y2012 : d["2012"]
};
},
function(error, rows) {
//document.write(rows);
dataset = rows;
var filtered = dataset.filter(country);
console.log(filtered);

//Code to create axes and map keys
});

现在我有一个包含 6 个对象的数组,每个对象在特定命名的键上都有值。我见过的例子通常是从文件的标题行中读入键值,但是我将如何处理这种尝试呢?

X 轴是 2004-2012 年,分别是列名和键值。 Y 轴是那些年的值范围。得到的 6 行代表每个国家/地区。

我试图遵循的示例是 http://bl.ocks.org/mbostock/3884955

我需要解析日期吗?我不这么认为,因为我只是在处理年份数字,它们是关键值,而不是关键值。谢谢。

最佳答案

我会组装我的数据,以便每个点有 4 个键:

{country:"Germany", indicator:"...",  year:2004, value:55}

而不是每年都有 key 。只需对您的 csv 调用进行后处理。

在执行此操作时,确定最小/最大年份和最小/最大值。

接下来,您使用 [minYear, maxYear] 域构建年标度(x 轴)。接下来使用 [minValue, maxValue] 的域为 y 轴构建一个值标度。

关于javascript - D3 使用对象数组从键中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22393991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com