在ASP.NET MVC3Razor引擎中chart Web Helper生成的图表上有没有显示工具提示的示例?当用户单击父图表的任何点时,我必须创建和显示子图表。请让我知道如何做这件事。
发布于 2011-07-20 13:50:48
现在,没有办法做到这一点。
发布于 2011-05-24 09:19:18
我不完全确定你在问什么,但我对此的看法是...
这将显示一个带有图表的页面。当您单击图表时,它将打开一个新图表。非常基础,但也许足够让你玩一玩了。
把这个放到你的控制器里:
public ActionResult GetRainfallChart()
{
var key = new Chart(width: 600, height: 400)
.AddSeries(
chartType: "bar",
legend: "Chart",
xValue: new[] { "Mon", "Tue", "Wed", "Thu", "Fri" },
yValues: new[] { "23", "12", "13", "42", "22" })
.Write();
return null;
}
public ActionResult GetRainfallChart2()
{
var key = new Chart(width: 600, height: 400)
.AddSeries(
chartType: "pie",
legend: "Another chart",
xValue: new[] { "Mon", "Tue", "Wed", "Thu", "Fri" },
yValues: new[] { "23", "12", "13", "42", "22" })
.Write();
return null;
}
下面是你的观点:
<!DOCTYPE html>
<html>
<head>
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui.min.js")" type="text/javascript"></script>
<script>
$(function () {
$("#dialog").dialog({
autoOpen: false
});
$("#chart").click(function () {
$("#dialog").dialog("open");
return false;
});
});
</script>
</head>
<body>
<img id="chart" src="/Home/GetRainfallChart" alt="Chart tooltip" />
<div id="dialog">
<img src="/Home/GetRainfallChart2" />
</div>
</body>
</html>
发布于 2020-06-26 22:54:43
在System.Web.UI.DataVisualization.Charting.Chart
中还有另一个Chart
类。它使用相同的渲染器,但让您可以更轻松地从代码创建图表。此Chart
具有内置函数GetHtmlImageMap
,您可以使用该函数显示每个数据点的工具提示。视图模型将同时包含图像映射和图像。
遗憾的是,@Html.ImageFromByte
不允许您指定图像映射,但您可以解决此问题。将图形图像转换为base64,使用原始html显示它。
控制器:
System.Web.UI.DataVisualization.Charting.Chart chart = // create your chart
var stream = new MemoryStream();
chart.SaveImage(stream, ChartImageFormat.Png);
var vm = new YourViewModel
{
ChartBase64 = Convert.ToBase64String(stream.GetBuffer()),
ChartHtmlMap = chart.GetHtmlImageMap("map")
};
视图模型:
public string ChartBase64 { get; set; }
public string ChartHtmlMap { get; set; }
cshtml:
@Html.Raw("<img src=data:image/jpg;base64," + Model.ChartBase64 + " usemap=\"#map\">")
@Html.Raw(Model.ChartHtmlMap)
https://stackoverflow.com/questions/5521618
复制相似问题