首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何可能形成Xamarin垂直条形图?

问如何可能形成Xamarin垂直条形图?
EN

Stack Overflow用户
提问于 2017-05-25 06:22:49
回答 1查看 1K关注 0票数 0

在我的xamarin表单应用程序中,我使用的是Oxyplot条形图。这是代码,这是我在水平条形图的条件下所做的工作,它是如何为垂直图创建的?还有其他的柱状图插件吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-25 07:05:23

关键是将ColumnSeries与ColumnItem对象一起使用。这应该呈现为具有垂直方向的条形图。如果您创建了一个新的ContentPage并将下面的代码粘贴到它中,您就可以看到它在运行。我在代码示例下面附加了一个图像,详细说明了它在iOS上的外观。

代码语言:javascript
复制
public partial class DemoPage : ContentPage
{
    public DemoPage()
    {
        InitializeComponent();

        var model = new PlotModel { Title = "Cake Type Popularity" };

        // generate a random percentage distribution between the 5
        //cake-types (see axis below)
        var rand = new Random();
        double[] cakePopularity = new double[5];
        for (int i = 0; i < 5; ++i)
        {
            cakePopularity[i] = rand.NextDouble();
        }
        var sum = cakePopularity.Sum();

        var barSeries = new ColumnSeries
        {

            ItemsSource = new List<ColumnItem>(new[]
            {
                new ColumnItem{ Value = (cakePopularity[0] / sum * 100) },
                new ColumnItem{ Value = (cakePopularity[1] / sum * 100) },
                new ColumnItem{ Value = (cakePopularity[2] / sum * 100) },
                new ColumnItem{ Value = (cakePopularity[3] / sum * 100) },
                new ColumnItem{ Value = (cakePopularity[4] / sum * 100) }
            }),
            LabelPlacement = LabelPlacement.Inside,
            LabelFormatString = "{0:.00}%"
        };

        model.Series.Add(barSeries);

        model.Axes.Add(new CategoryAxis
        {
            Position = AxisPosition.Bottom,

            Key = "CakeAxis",
            ItemsSource = new[]
            {
                "A",
                "B",
                "C",
                "D",
                "E"
            }
        });

        var grid = new Grid();

        grid.Children.Add(new PlotView
        {
            Model = model,
            VerticalOptions = LayoutOptions.Center,
            HeightRequest = 200,
            HorizontalOptions = LayoutOptions.Fill,
        });

        Content = grid;
    }
}

这应该呈现如下图形:

​

​

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44173636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档