我正在尝试在机器人中创建一些图表(折线图等)。我有可从在线来源(finance.Yahoo.com)获得的数据
我不确定我应该使用哪个库来实现此目的
。
有没有人可以分享一个我如何实现这一目标的例子?
我尝试过使用UI.Visualization.Chart库,但是我没有成功地得到解决方案。因此,我在这方面寻求一些帮助
发布于 2017-12-04 13:44:38
BotFramework目前不支持交互式图表,您可以使用@Peter Bons建议的一些第三方库或在线服务来生成图表,但您需要尝试将其呈现为图像文件,并使用bot中的HeroCard/ AdaptiveCard将此文件附加到您的消息中。
由于您的数据是在finance.Yahoo.com中,我不确定雅虎是否支持生成图表图像,如果不是,您将需要从雅虎获取数据,然后尝试找到在线服务或第三方库来绘制图表图像。
渲染图像后,您可以将其作为图像附件发送,例如:
[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;
}
}https://stackoverflow.com/questions/47620871
复制相似问题