Javascript 使用字典在D3.js中绘制图形
我有一本这样的字典:Javascript 使用字典在D3.js中绘制图形,javascript,d3.js,Javascript,D3.js,我有一本这样的字典: [('2019-10', 273), ('2019-11', 299), ('2019-12', 244), ('2020-01', 231), ('2020-02', 232)] 我想把这个字典绘制成一个图表,日期作为x轴,相应的值作为条。我怎样才能做到这一点?我是D3新手,因此对它知之甚少。感谢您的帮助 假设您的数据采用以下格式: [{'2019-10': 273}, {'2019-11': 299}, {'2019-12': 244}, {'2020-01': 23
[('2019-10', 273), ('2019-11', 299), ('2019-12', 244), ('2020-01', 231), ('2020-02', 232)]
我想把这个字典绘制成一个图表,日期作为x轴,相应的值作为条。我怎样才能做到这一点?我是D3新手,因此对它知之甚少。感谢您的帮助 假设您的数据采用以下格式:
[{'2019-10': 273}, {'2019-11': 299}, {'2019-12': 244}, {'2020-01': 231}, {'2020-02': 232}]
您可以首先应用一些映射函数将其转换为更方便的格式,然后再进行转换,例如:
var高度=200;
var宽度=400;
变量数据=[{'2019-10':273},{'2019-11':299},{'2019-12':244},{'2020-01':231},{'2020-02':232}];
var mapped=data.mapd=>{
返回{
日期:Object.keysd[0],
计数:d[Object.keysd[0]]
}
};
var x=d3.标度.顺序.范围圆带[0,宽度],.05;
变量y=d3.刻度.线性.范围[高度,0];
x、 domainmapped.mapd=>d.date;
y、 域[0,d3.maxmapped,d=>d.count];
var svg=d3.selectsimple.appendsvg
.宽度,宽度
.身高,身高,;
svg.selectAllbar
.数据映射
.enter.appendrect
.stylefill,钢蓝
.attrx,d=>xd.date
.attrwidth,x.rangeBand
.attry,d=>yd.count
.attrheight,d=>height-yd.count;
到目前为止你都试了些什么?嗨,德旺。我想不出该怎么办。有什么建议吗?到目前为止,我只处理过列表。