xamarin 如何为SfChart BarSeries中的不同条形提供不同的颜色

carvr3hs  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(95)

我需要在条形图窗体中显示2个雇员的销售额。
我已经创建了SfChart BarSeries,并从ViewModel提供了2个雇员详细信息以及X轴和Y轴值。但我需要以不同的颜色显示这两个雇员,但我只能为每个项目栏提供一种颜色,并且没有可用的DataTemplate。
首次进场代码

<chart:SfChart BackgroundColor="{StaticResource BiscayBlueColor}" HeightRequest="300">
                                <chart:SfChart.Title>
                                    <chart:ChartTitle Text="{markupExtensions:Translate TitleSalesByCategory}" TextColor="White" 
                                        FontAttributes="Bold" />
                                </chart:SfChart.Title>
                                <chart:SfChart.PrimaryAxis>
                                    <chart:CategoryAxis>
                                        <chart:CategoryAxis.MajorTickStyle>
                                            <chart:ChartAxisTickStyle TickSize="0" />
                                        </chart:CategoryAxis.MajorTickStyle>
                                        <chart:CategoryAxis.LabelStyle>
                                            <chart:ChartAxisLabelStyle TextColor="White" />
                                        </chart:CategoryAxis.LabelStyle>
                                    </chart:CategoryAxis>
                                </chart:SfChart.PrimaryAxis>
                                <chart:SfChart.SecondaryAxis>
                                    <chart:NumericalAxis>
                                        <chart:NumericalAxis.MajorTickStyle>
                                            <chart:ChartAxisTickStyle TickSize="0" >
                                            </chart:ChartAxisTickStyle>
                                        </chart:NumericalAxis.MajorTickStyle>
                                        <chart:NumericalAxis.LabelStyle>
                                            <chart:ChartAxisLabelStyle TextColor="White" />
                                        </chart:NumericalAxis.LabelStyle>
                                    </chart:NumericalAxis>
                                </chart:SfChart.SecondaryAxis>
                                <chart:BarSeries ItemsSource="{Binding BarGraphData}" Color="White" StrokeWidth="10"
                                    XBindingPath="XAxisValue" YBindingPath="YAxisValue"/>
                            </chart:SfChart>

UI看起来像

但是我需要用不同的颜色显示两个条,所以我尝试了下面的方法

<chart:SfChart BackgroundColor="{StaticResource BiscayBlueColor}" HeightRequest="300">
                                <chart:SfChart.Title>
                                    <chart:ChartTitle Text="{markupExtensions:Translate TitleSalesByCategory}" TextColor="White" 
                                        FontAttributes="Bold" />
                                </chart:SfChart.Title>
                                <chart:SfChart.PrimaryAxis>
                                    <chart:CategoryAxis>
                                        <chart:CategoryAxis.MajorTickStyle>
                                            <chart:ChartAxisTickStyle TickSize="0" />
                                        </chart:CategoryAxis.MajorTickStyle>
                                        <chart:CategoryAxis.LabelStyle>
                                            <chart:ChartAxisLabelStyle TextColor="White" />
                                        </chart:CategoryAxis.LabelStyle>
                                    </chart:CategoryAxis>
                                </chart:SfChart.PrimaryAxis>
                                <chart:SfChart.SecondaryAxis>
                                    <chart:NumericalAxis>
                                        <chart:NumericalAxis.MajorTickStyle>
                                            <chart:ChartAxisTickStyle TickSize="0" >
                                            </chart:ChartAxisTickStyle>
                                        </chart:NumericalAxis.MajorTickStyle>
                                        <chart:NumericalAxis.LabelStyle>
                                            <chart:ChartAxisLabelStyle TextColor="White" />
                                        </chart:NumericalAxis.LabelStyle>
                                    </chart:NumericalAxis>
                                </chart:SfChart.SecondaryAxis>
                                <chart:BarSeries ItemsSource="{Binding BarGraphData1}" Color="White" StrokeWidth="5" Label="RowSeries"
                                    XBindingPath="XAxisValue" YBindingPath="YAxisValue">
                                </chart:BarSeries>
                                <chart:BarSeries ItemsSource="{Binding BarGraphData2}" Color="Green" StrokeWidth="5" Label="RowSeries"
                                    XBindingPath="XAxisValue" YBindingPath="YAxisValue">
                                </chart:BarSeries>
                            </chart:SfChart>

这里我添加了两个条形图序列,并将值拆分到2个ItemSource中,输出如下所示:

,但这里两个名称都合并到一行中,并使用逗号分隔符。
如何在单独的一行中显示两个Name并在它们之间提供一些边距?
我的第二个问题是,我需要显示一个子标题,以提及员工姓名的颜色(在销售类别标题之后,我需要显示Shubham和相应的颜色,然后在最左侧显示Afsal相应的颜色。类似于

我是新的Syncfusion,所以请帮助我解决这个问题。
我也在syncfusion表单中问过这个问题。

相关问题