GWT Highcharts-半圆甜甜圈

GWT Highcharts - Semi circle donut

本文关键字:半圆 甜甜圈 Highcharts- GWT      更新时间:2023-09-26

我正在使用GWT Highcharts,并希望创建半圆甜甜圈(http://www.highcharts.com/demo/pie-semi-circle)。这是用带有plotOptions.pie.startAngleplotOptions.pie.endAngle的javascript完成的。GWT Highcharts中似乎没有这样的方法。然后我尝试用.setOption("/plotOptions/pie/endAngle", "90")手动设置它,但没有效果。也许HighStock 1.2.4(GWT Highcharts支持的最新版本)不支持这一点?

我的代码如下:

final Chart chart = new Chart()
.setType(Series.Type.PIE)
.setChartTitleText("Browser market shares at a specific website, 2010")
.setPlotBackgroundColor((String) null)
.setPlotBorderWidth(null)
.setPlotShadow(false)
.setOption("/plotOptions/pie/startAngle", "-90")
.setOption("/plotOptions/pie/endAngle", "90")
.setPiePlotOptions(new PiePlotOptions()
    .setAllowPointSelect(true)
    .setCursor(PlotOptions.Cursor.POINTER)
    .setPieDataLabels(new PieDataLabels()
        .setConnectorColor("#000000")
        .setEnabled(true)
        .setColor("#000000")
        .setFormatter(new DataLabelsFormatter() {
            @Override
            public String format(DataLabelsData dataLabelsData) {
                return "<b>" + dataLabelsData.getPointName() + "</b>: " + dataLabelsData.getYAsDouble() + " %";
            }
        })
    )
)
.setLegend(new Legend()
    .setLayout(Legend.Layout.VERTICAL)
    .setAlign(Legend.Align.RIGHT)
    .setVerticalAlign(Legend.VerticalAlign.TOP)
    .setX(-100)
    .setY(100)
    .setFloating(true)
    .setBorderWidth(1)
    .setBackgroundColor("#FFFFFF")
    .setShadow(true)
)
.setToolTip(new ToolTip()
    .setFormatter(new ToolTipFormatter() {
        @Override
        public String format(ToolTipData toolTipData) {
            return "<b>" + toolTipData.getPointName() + "</b>: " + toolTipData.getYAsDouble() + " %";
        }
    })
);

工作的javscript看起来是这样的:

$(function () {
    $('#container').highcharts({
        chart: {
            plotBackgroundColor: null,
            plotBorderWidth: 0,
            plotShadow: false
        },
        title: {
            text: 'Browser<br>shares',
            align: 'center',
            verticalAlign: 'middle',
            y: 50
        },
        tooltip: {
            pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
        },
        plotOptions: {
            pie: {
                dataLabels: {
                    enabled: true,
                    distance: -50,
                    style: {
                        fontWeight: 'bold',
                        color: 'white',
                        textShadow: '0px 1px 2px black'
                    }
                },
                startAngle: -90,
                endAngle: 90,
                center: ['50%', '75%']
            }
        },
        series: [{
            type: 'pie',
            name: 'Browser share',
            innerSize: '50%',
            data: [
                ['Firefox',   45.0],
                ['IE',       26.8],
                ['Chrome', 12.8],
                ['Safari',    8.5],
                ['Opera',     6.2],
                {
                    name: 'Others',
                    y: 0.7,
                    dataLabels: {
                        enabled: false
                    }
                }
            ]
        }]
    });
});

有什么方法可以在GWT Highcharts中实现这一点吗?

根据文档,我认为这可能是Highcharts版本的问题——它从2.3.4开始受到支持。嗯,没有2.3.4版本,应该有2.3.5版本。

Highstock 1.2.4是在Highcharts 2.3.3和2.3.5之间发布的版本。有什么办法可以将Highstock更新到1.2.5吗?1.2.5中肯定支持它。