Javascript 如何使用highcharts 3D散点图获得立体图?

Javascript 如何使用highcharts 3D散点图获得立体图?,javascript,highcharts,3d,scatter-plot,Javascript,Highcharts,3d,Scatter Plot,我正在寻找一个工具来显示三维散点图使用JavaScript和发现,这看起来不错 唯一的问题是,我希望图表有一个立方体形式,因为所有的轴都是从0到10。现在X轴的大小是其他轴的两倍,我找不到改变这个的方法 有人知道如何解决这个问题吗?最简单的方法是使用标签格式化程序,然后检查标签是否是第一个。如果是,则不打印值 xAxis: { min: 0, max: 10, gridLineWidth: 1, labels:{

我正在寻找一个工具来显示三维散点图使用JavaScript和发现,这看起来不错

唯一的问题是,我希望图表有一个立方体形式,因为所有的轴都是从0到10。现在X轴的大小是其他轴的两倍,我找不到改变这个的方法


有人知道如何解决这个问题吗?

最简单的方法是使用标签格式化程序,然后检查标签是否是第一个。如果是,则不打印值

xAxis: {
        min: 0,
        max: 10,
        gridLineWidth: 1,
        labels:{
            formatter:function(){
                if(!this.isFirst)
                    return this.value;
            }
        }
    },

示例:

这里有两种方法,在我看来这两种方法都不理想,但考虑到你的图表在外观(宽度和高度)上有点静态,可以完成这项工作

  • 设置边距以使打印区域反映轴的尺寸。在你的例子中,x和y的比例是1:1。这有一些缺点,除了非常静态和奇怪的设置。还请注意,您必须限制最小宽度,否则当浏览器宽度很小时,它看起来会很奇怪。使用散点示例,它可能如下所示():

  • 设置轴的宽度和高度。这种方法的问题是,图表将围绕一个不存在的“中点”旋转,它将被放置在绘图的左侧,无需进一步修改。再次使用散点,它可能看起来像这样():

  • xAxis: {
            min: 0,
            max: 10,
            gridLineWidth: 1,
            labels:{
                formatter:function(){
                    if(!this.isFirst)
                        return this.value;
                }
            }
        },
    
    var chart = new Highcharts.Chart({
        chart: {
            renderTo: 'container',
            margin: 100,
            marginLeft: 300,
            marginRight: 300,
            // ...
        }
        // ...
    });
    
    var chart = new Highcharts.Chart({
        yAxis: {
            min: 0,
            max: 10,
            width: 200,
            height: 200,
            // ...
        },
        xAxis: {
            min: 0,
            max: 10,
            width: 200,
            height: 200,
            // ...
        },
        zAxis: {
            min: 0,
            max: 10,
            width: 200,
            height: 200,
            // ...
        }
        // ...
    });