【问题标题】:How to create Charts using c# Bot Framework?如何使用 c# Bot Framework 创建图表?
【发布时间】:2017-12-04 13:44:37
【问题描述】:

我正在尝试在机器人中创建一些图表(折线图等)。我有来自在线资源(finance.Yahoo.com)的数据

我不确定我应该为此目的使用哪个库
1. 什么图表库?
2.我应该使用什么类型的卡(英雄卡,自适应卡......)?
3. 我当前连接到外部站点(雅虎)的解决方案是一个 web api,我正在使用 C# bot 框架?

谁能分享我如何实现这一目标的示例?

我曾尝试使用 UI.Visualization.Chart 库,但未能成功获得解决方案。因此,我正在寻找这方面的一些帮助

【问题讨论】:

  • 您可以使用oxyplot 之类的库,创建图表,将其保存到公共可访问的位置,然后将其放入英雄卡中。我在 azure 函数中做到了这一点 (source)

标签: c# charts botframework


【解决方案1】:

BotFramework 目前不支持交互式图表,您可以使用@Peter Bons 建议的一些第三方库或在线服务来生成图表,但您需要尝试将其呈现为图像文件并附加在 bot 中使用 HeroCard/ AdaptiveCard 将此文件添加到您的消息中。

由于您的数据在finance.Yahoo.com,我不确定Yahoo是否支持生成图表图像,如果不支持,您需要从Yahoo获取数据然后尝试寻找在线服务或第三方-party lib 首先绘制图表图像。

图片渲染完成后,可以作为图片附件发送 比如这样:

[Serializable]
public class RootDialog : IDialog<object>
{
    public Task StartAsync(IDialogContext context)
    {
        context.Wait(MessageReceivedAsync);

        return Task.CompletedTask;
    }

    private async Task MessageReceivedAsync(IDialogContext context, IAwaitable<object> result)
    {
        var activity = await result as Activity;

        var card = CreateHeroCard();
        Attachment attachment = card.ToAttachment();
        var message = context.MakeMessage();
        message.Attachments.Add(attachment);

        await context.PostAsync(message);

        context.Wait(MessageReceivedAsync);
    }

    private HeroCard CreateHeroCard()
    {
        List<CardImage> cardImages = new List<CardImage>();
        cardImages.Add(new CardImage("your chart image url goes here"));
        var card = new HeroCard()
        {
            Title = "Months with Numbers Bar Chart",
            Subtitle = "Using a Chart as Image service...",
            Text = "Build and connect intelligent bots that have charts rendered as images.",
            Images = cardImages
        };

        return card;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-09
    • 1970-01-01
    • 2017-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多