D3.js D3 v5仅在timeParse中使用年份
我目前正在使用.dsv方法将csv加载到d3。 csv包含两列:年份和平均价格。 年份列仅为190119021903,不包含月份或日期D3.js D3 v5仅在timeParse中使用年份,d3.js,D3.js,我目前正在使用.dsv方法将csv加载到d3。 csv包含两列:年份和平均价格。 年份列仅为190119021903,不包含月份或日期 year, avg_price 1901, 25.20 1902, 28.30 1903, 19.25 1904, 21.50 d3.dsv import将返回一个字符串,但我想将此信息转换为datetime对象,仅作为“year”,以便将结果绘制为条形图 我已经尝试过在导入时运行下面的程序,但它似乎不起作用 var parseTime=d3。timePars
year, avg_price
1901, 25.20
1902, 28.30
1903, 19.25
1904, 21.50
d3.dsv import将返回一个字符串,但我想将此信息转换为datetime对象,仅作为“year”,以便将结果绘制为条形图
我已经尝试过在导入时运行下面的程序,但它似乎不起作用
var parseTime=d3。timeParse%Y
v5是否有好的资源来解释如何将部分日期解析为图表的日期对象?
谢谢。您可以在函数中使用new Dated.year,0,1将您的第一列转换为javascript日期对象,即每年1月的第一列
注意tsv字符串中的空格
例如:
const csv=`年,平均价格
1901,25.20
1902,28.30
1903,19.25
1904,21.50`;
const data=d3.csvParsecsv,d=>{
年份:新日期+d.year,0,1,,
平均价格:+d.平均价格,
};
常量格式=d3.时间格式“%Y”;
constul=d3.selectapp.append'ul';
ul.选择所有'li'
.数据
.加入'li'
.textd=>“${formattd.year}:${d.avg_price}”;
这仍然会为日期创建一个月和一天。。。不可能只拥有一个带有年份的日期对象吗?基本上,我想自己画一年,但我很难做到。不,一个日期需要一个月和一天。但是,您只能使用d3.scaleLinear而不是d3.scaleTime绘制年份,也可以使用your's welcome在绘图中格式化日期。我已将答案编辑为使用d3.timeFormat“%Y”。