gpt4 book ai didi

c# - 如何使用 C# Bot Framework 创建图表?

转载 作者:太空宇宙 更新时间:2023-11-03 22:50:25 25 4
gpt4 key购买 nike

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

我不确定为此目的我应该使用哪个库
1. 什么图表库?
2. 我应该使用什么类型的卡(英雄卡、自适应卡...)?
3. 我当前连接到外部站点 (Yahoo) 的解决方案是 Web API,我使用的是 C# 机器人框架?

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

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

最佳答案

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

由于你的数据在finance.Yahoo.com,我不确定雅虎是否支持生成图表图像,如果不支持,你需要从雅虎获取数据然后尝试寻找在线服务或第三方-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;
}
}

关于c# - 如何使用 C# Bot Framework 创建图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47620871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com