Javascript 什么';这是使用chart.js在任意位置绘制50个点的雷达图的最有效方法
考虑沿着以下线路的一系列数据:Javascript 什么';这是使用chart.js在任意位置绘制50个点的雷达图的最有效方法,javascript,chart.js,radar-chart,Javascript,Chart.js,Radar Chart,考虑沿着以下线路的一系列数据: data = [{angle:1.2,value:1.2},...,{angle:355.2: value:5.6}]; 我想在径向缩放图上显示这些数据(即圆形带,指示每个点的值有多高),以显示角度与值。每个数据集的角度都会发生微小但不可控的变化,但在图表上始终会有约50个角度均匀分布 看起来chart.js有两个不太合适的选项: 一种雷达图,似乎要求每个点都有一个标签,但没有明显的方法来控制这些标签的应用位置 一个x-y散射,我可以计算x/y坐标,但没有径向
data = [{angle:1.2,value:1.2},...,{angle:355.2: value:5.6}];
我想在径向缩放图上显示这些数据(即圆形带,指示每个点的值有多高),以显示角度与值。每个数据集的角度都会发生微小但不可控的变化,但在图表上始终会有约50个角度均匀分布
看起来chart.js
有两个不太合适的选项:
- 一种雷达图,似乎要求每个点都有一个标签,但没有明显的方法来控制这些标签的应用位置
- 一个x-y散射,我可以计算x/y坐标,但没有径向比例来帮助可视化每个点的值
您可以使用D3 js图表用于雷达图表检查下面的示例链接:
//////////////////////////////////////////////////////////////
//////////////////////// Set-Up //////////////////////////////
//////////////////////////////////////////////////////////////
var margin = {top: 100, right: 100, bottom: 100, left: 100},
width = Math.min(700, window.innerWidth - 10) - margin.left - margin.right,
height = Math.min(width, window.innerHeight - margin.top - margin.bottom - 20);
//////////////////////////////////////////////////////////////
////////////////////////// Data //////////////////////////////
//////////////////////////////////////////////////////////////
var data = [
[//Yourchart values
{axis:"",value:0.052},
{axis:"",value:0.052},
{axis:"",value:0.012},
{axis:"",value:0.012},
{axis:"",value:0.022},
{axis:"",value:0.052},
{axis:"",value:0.052},
{axis:"",value:0.021}
]
];
//////////////////////////////////////////////////////////////
//////////////////// Draw the Chart //////////////////////////
//////////////////////////////////////////////////////////////
var color = d3.scale.ordinal()
.range(["#6cbb69","#CC333F","#00A0B0"]);
var radarChartOptions = {
w: 500,
h: 300,
maxValue: 0.15,
levels: 5,
roundStrokes: true,
color: color
};
//Call function to draw the Radar chart
RadarChart(".radarChart", data, radarChartOptions);
演示和代码:
说明:
:{color:'transparent'}
和:{display:false}
min
和max
(勾号中的选项)相等,以便原点位于中心,以按照OP的要求用浅蓝色填充ctx
PS:(指出只是为了有点竞争性)我使用了chartjs(与其他答案不同),因为OP想要一个chartjs解决方案,因为它清楚地写在问题“using chart.js”中。可能有比chartjs更好的解决方案,但这是无关紧要的。你能给出一个你期望的图表类型的示例图像吗?谢谢你的帮助。你能帮我回答以下问题吗?我参考了你的例子。1) 2) 3)