Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF饼图如何在切片之间添加空间?_C#_Wpf_Telerik - Fatal编程技术网

C# WPF饼图如何在切片之间添加空间?

C# WPF饼图如何在切片之间添加空间?,c#,wpf,telerik,C#,Wpf,Telerik,我正在使用Telerik(RadPieChart)和WPF。如何在切片之间添加空间 这就是我目前拥有的: 这就是我希望我的饼图在切片之间有空格的样子: 以下是我的源代码: private DoughnutSeries CreateDognutSerie(KeyValuePair<ChartSerie, List<ChartDataPoint>> chartSerie, int index, int count) { double spaceBe

我正在使用Telerik(RadPieChart)和WPF。如何在切片之间添加空间

这就是我目前拥有的:

这就是我希望我的饼图在切片之间有空格的样子:

以下是我的源代码:

private DoughnutSeries CreateDognutSerie(KeyValuePair<ChartSerie, List<ChartDataPoint>> chartSerie, int index, int count)
    {
        double spaceBetweenSperies = 0.0;
        if (count > 1 && index != count - 1)
        {
            spaceBetweenSperies = 0.007;
        }

        var doughnutSerie = new DoughnutSeries()
        {
            ShowLabels = true,
            //LabelConnectorsSettings = new ChartSeriesLabelConnectorsSettings()
            //{

            //},
            InnerRadiusFactor = index / (double)count,
            RadiusFactor      = ((index + 1) / (double)count) - spaceBetweenSperies,
            //LegendSettings = new DataPointLegendSettings()
            //{

            //},
            //SeriesAnimation = new PieChartAngleRangeAnimation()
            //{
            //    InitialStartAngle = -90,
            //    InitialSweepAngle = 180,
            //    Duration          = new TimeSpan(0, 0, 0, 0, 800),
            //}
        };
        foreach (ChartDataPoint serie in chartSerie.Value)
        {
            doughnutSerie.DataPoints.Add(new PieDataPoint()
            {
                Label = serie.XPoint.Label,
                Value = Math.Abs((double?)serie.Value ?? 0),
            });
        }

        return doughnutSerie;
    }
private DoughnutSeries CreateDognutSerie(KeyValuePair图表序列、int索引、int计数)
{
双空格BetweenSeries=0.0;
如果(计数>1&&index!=计数-1)
{
SpaceBetweenSeries=0.007;
}
var doughnutSerie=新的DoughnutSeries()
{
ShowLabels=true,
//LabelConnectorsSettings=新图表系列LabelConnectorsSettings()
//{
//},
InnerRadiusFactor=索引/(双)计数,
半径因子=((索引+1)/(双)计数)-序列之间的空格,
//LegendSettings=新数据点LegendSettings()
//{
//},
//SeriesAnimation=新的PieChartAngleRangeAnimation()
//{
//InitialStartAngle=-90,
//初始扫掠角=180,
//持续时间=新的时间跨度(0,0,0,0,800),
//}
};
foreach(ChartDataPoint系列中的chartSerie.Value)
{
doughnutSerie.DataPoints.Add(新的PieDataPoint()
{
标签=serie.XPoint.Label,
数值=数学绝对值((双?)系列数值??0),
});
}
返回甜甜圈;
}

使用
PieDataPoint
中的
OffsetFromCenter
属性。类似于
OffsetFromCenter=0.015
的内容应该与上图类似

public MainWindow()
{
    InitializeComponent();

    var data = new Dictionary<string, double>
    {
        { "January", 5 },
        { "February", 3 },
        { "March", 5 },
        { "April", 7 },
        { "May", 2 },
        { "June", 11 },
        { "July", 11 },
        { "August", 11 },
        { "September", 11 },
        { "October", 11 },
        { "November", 11 },
        { "December", 12 },
    };

    var series = CreateDougnutSeries(data);
    var pie = new RadPieChart { Palette = ChartPalettes.Fluent };
    pie.Series.Add(series);

    mainGrid.Children.Add(pie);

}

private DoughnutSeries CreateDougnutSeries(Dictionary<string, double> data)
{
    var doughnutSeries = new DoughnutSeries
    {
        ShowLabels = true,
        InnerRadiusFactor = 0,
        RadiusFactor = 1
    };

    foreach (var point in data)
    {
        doughnutSeries.DataPoints.Add(new PieDataPoint()
        {
            Label = point.Key,
            Value = point.Value,
            OffsetFromCenter = 0.015
        });
    }

    return doughnutSeries;
}
public主窗口()
{
初始化组件();
var数据=新字典
{
{“一月”,5},
{“二月”,3},
{“三月”,5},
{“四月”,7},
{“五月”,2},
{“六月”,11},
{7月11日},
{“八月”,11},
{“9月11日},
{“十月”,11},
{“11月”,11日},
{“12月”,12日},
};
var系列=系列(数据);
var pie=new RadPieChart{palete=chartplates.Fluent};
pie.Series.Add(系列);
mainGrid.Children.Add(饼图);
}
专用DoughnutSeries CreateDoughnutSeries(字典数据)
{
var doughnutSeries=新的doughnutSeries
{
ShowLabels=true,
内半径因子=0,
半径系数=1
};
foreach(数据中的var点)
{
doughnutSeries.DataPoints.Add(新的PieDataPoint()
{
Label=point.Key,
值=点。值,
OffsetFromCenter=0.015
});
}
返回甜甜圈系列;
}

OffsetFromCenter
增加到
0.1
会使线条变粗: