Javascript 有没有一种方便的方法可以将值从CSV文件打印到JS图表,而无需进行转换?

Javascript 有没有一种方便的方法可以将值从CSV文件打印到JS图表,而无需进行转换?,javascript,json,csv,charts,chart.js,Javascript,Json,Csv,Charts,Chart.js,我在JSFIDLE上看到了以下代码: 来自CSV的Chart.js图表 html,正文{ 字体系列:“开放式Sans”、“Helvetica Neue”、Helvetica、Arial、Sans serif; 身高:100%; 保证金:0; } /*与超光速子中的.flex auto相同,但没有“auto”flex基*/ .柔性填料{ 弹性:1; 最小宽度:0;/*1*/ 最小高度:0;/*1*/ } var renderChart=函数(数据){ var chart\u data=form

我在JSFIDLE上看到了以下代码:


来自CSV的Chart.js图表
html,正文{
字体系列:“开放式Sans”、“Helvetica Neue”、Helvetica、Arial、Sans serif;
身高:100%;
保证金:0;
}
/*与超光速子中的.flex auto相同,但没有“auto”flex基*/
.柔性填料{
弹性:1;
最小宽度:0;/*1*/
最小高度:0;/*1*/
}
var renderChart=函数(数据){
var chart\u data=formatDataForChart(数据)
var ctx=document.getElementById('canvas').getContext('2d'))
window.my_chart=新图表(ctx{
类型:'bar',
数据:图表数据,
选项:{
回答:是的,
图例:{
位置:'顶部'
},
标题:{
显示:对,
text:“使用Flex.io从CSV文件创建具有chart.js的图表”
}
}
})
}
var formatDataForChart=函数(内容){
var first_item=u.get(内容“[0]”,{})
var column_labels=u.map(u.omit(第一个_项,['os']),函数(val,key){
如果(键!=“os”)
返回键
})
//使用Lodash重新格式化JSON以与Chart.js一起使用
var数据集=u2;.map(内容、功能(项){
//使用“os”列作为我们的标签
var item_label=u.get(item'os','notfound')
//从每个项的JSON对象创建一个数字值数组
var item_values=u.map(u.omit(item,['os']),函数(val){
返回浮点值(val)
})
返回{
标签:项目标签,
数据:项目_值,
backgroundColor:getRandomColor()
}
})
var图表\u数据={
标签:列标签,
数据集:数据集
}
返回图表数据
}
var getRandomColor=函数(){
变量字母='0123456789ABCDEF'。拆分('')
var color='#'
对于(变量i=0;i<6;i++){
颜色+=字母[Math.floor(Math.random()*16)]
}
返回颜色
}
灵活设置('rryrjgqhvtdttzzsjpjr')
挠性管()
//请求指定的URL的内容
.请求('https://raw.githubusercontent.com/flexiodata/examples/master/demo-chartjs-from-csv/source-data/phone-market-share.csv')
//将上述CSV格式的文本转换为JSON
.convert('csv','json')
.run(函数(错误、响应){
var data=JSON.parse(response.text)
renderChart(数据)
})

我的意思是,如果你有csv字符串,让我们假设变量是
csv

OS,2009,2010,2011,2012,2013,2014,2015,2016,2017
Android,1.6,9.6,36.4,56.9,74.4,80.8,78.8,84.1,86.1
iOS,10.5,15.4,16.9,22.5,18.2,15.3,17.9,14.8,13.7
Microsoft,10.2,6.8,2.6,1.9,2.9,2.7,2.5,0.7,0.1
RIM,20.6,19.7,13,6.8,3,0.6,0.4,0.2,0
Symbian,48.8,44.2,27.7,8.5,0.6,0.2,0.1,0,0
首先用换行符拆分,然后用逗号拆分,就像这样

const array = csv.split('\n').map(col => col.split(','));

有一个Chart.js插件,可以轻松地从CSV文件加载数据。默认情况下,CSV文件中的每一行都将映射到一个数据集,第一列和第一行将分别作为数据集标签和索引标签处理。您还可以使用选项自定义如何解析CSV数据


var ctx=document.getElementById('myChart').getContext('2d');
var图表=新图表(ctx{
类型:'bar',
插件:[图表数据源],
选项:{
数据来源:{
url:'电话市场份额.csv'
}
}
});

我将从url调用CSV文件,而不是直接在program@ManaalSiddiqui那真的没有道理。数据必须到达与图表相同的位置并传递到图表。你是怎么得到它的有点irrelevant@ManaalSiddiqui,我不确定我是否理解您所说的“从URL调用”是什么意思,但我认为Javascript需要获取字符串以在代码中的某个地方处理它。当你有字符串时,这些只是你需要采取的步骤。
daatasource
这是拼写错误吗?