vue2 highcharts-无法重新绘制图表以定位Pie

vue2 highcharts-无法重新绘制图表以定位Pie,highcharts,vue.js,Highcharts,Vue.js,我正在使用VueJs和组件在可调整大小的容器中绘制一个3饼图作为单个Highchart。 要做到这一点,我需要在调整容器大小时重新定义馅饼的位置和大小。在我改变了系列的位置和尺寸后,我在重新画馅饼方面遇到了巨大的困难。下面是一些代码: <template> <div class="multiple-pie-wrapper" ref="root"> <vue-highcharts style="height: 100%; width: 100%

我正在使用VueJs和组件在可调整大小的容器中绘制一个3饼图作为单个Highchart。 要做到这一点,我需要在调整容器大小时重新定义馅饼的位置和大小。在我改变了系列的位置和尺寸后,我在重新画馅饼方面遇到了巨大的困难。下面是一些代码:

<template>
    <div class="multiple-pie-wrapper" ref="root">
        <vue-highcharts style="height: 100%; width: 100%;" :Highcharts="Highcharts" :options="options" ref="chart"></vue-highcharts>
    </div>
</template>
<script>

    import VueHighcharts from 'vue2-highcharts';
    import Highcharts from 'highcharts';

    export default {
        props: {
            options: { type: Object, required: true }
        },
        data: function () {
            return {
                Highcharts: Highcharts
            };
        },
        components: {
            VueHighcharts
        },
        methods: {
            reflow: function() {

                var series = this.options.series;

                //... Calculate the new positions and sizes and set it to
                // series[i].size and series[i].center

                // HERE IS WHERE I SHOULD REDRAW IT

            }
        },
        mounted() {
            this.reflow();
        }
    }
</script>
我尝试了以下方法,但没有成功:

此.$refs.chart.chart.redraw 此。$refs.chart.chart.reflow 系列[i].setDataseries 它们都没有任何效果,并且我的Pie被打印,就好像中心和大小是默认值一样,因此相互重叠


有什么想法吗?

我创建了一种重新设计图形的方法

reloadTypeSeries(){
            let pizzaCharts = this.$refs.pizzaCharts;
            let updateSeries = JSON.parse(this.updateoptions);
            let concatJson = [];

            $.each(updateSeries, function(key, value) {
                concatJson = concatJson.concat([[updateSeries[key].name, updateSeries[key].y]]);
            });

            pizzaCharts.chart.series[0].setData(concatJson, true);
        }

希望这有帮助

我在你的选项中看不到pie.center。您需要告诉Highcharts饼图应该放在哪里,例如:键入:'pie',中心:['25%,'50%']。。。我的回流方法正在运行时处理。这正是问题所在:一旦它被处理,它就不会用已处理的中心或sizeOh重新绘制图表,我明白了,很抱歉,我在代码中漏掉了那个注释。在回流方法中,您应该使用:this.$refs.chart.chart.series[i].更新{center:[…]};
reloadTypeSeries(){
            let pizzaCharts = this.$refs.pizzaCharts;
            let updateSeries = JSON.parse(this.updateoptions);
            let concatJson = [];

            $.each(updateSeries, function(key, value) {
                concatJson = concatJson.concat([[updateSeries[key].name, updateSeries[key].y]]);
            });

            pizzaCharts.chart.series[0].setData(concatJson, true);
        }