我使用这个库:
http://canvasxpress.org/scatter2d.html
现在我正在尝试使用以下代码构建Scatter2D图表:
var showDemo2 = function (chartrows,chartvars,chartdata,colors,color) {
$("#c2").show()
$("#c1").hide()
cx2 = new CanvasXpress('canvas2',
{
'y' : {
'vars' : chartrows,
'smps' : chartvars,
'data' : chartdata,
},
'z' : {
'color' : colors,
},
},
{
'graphType': 'Scatter2D',
"colorBy":'color',
'xAxis': [chartvars[0]],
'yAxis': [chartvars[1]]}
);
}
这很好用,但问题是' z'每当我尝试传递变量时,代码会自动对其进行字符串化,例如,如果' z'如:
'z' : {
somevariable : colors,
}
' somevariable'仍然作为一个字符串传递,我有缩小的代码,很难找到原始开发字符串属性的部分,任何绕过字符串转换的解决方案?尝试了eval(),但徒劳无功。
答案 0 :(得分:0)
在检查画布后我发现每个画布都有一个名为'data'的对象,在数据中你可以找到'y'和'z',简单地将z属性名称改为我想要的值:
cx2.data.z[color]=cx2.data.z.color
delete cx2.data.z.color;
其中左侧的'color'是变量,但右侧是一个字符串。欢呼声。