与此主题相关我想知道是否有人使Microsoft Charting库与Asp MVC 3和Razor一起使用.
我知道引入的新图表助手,但由于这是非常有限的,这不是一个真正的选择.
要创建一个返回图像的动作方法也很容易,但由于所有交互性都会中断(即使只是条形图中条形图的简单工具提示),此方法也有一些限制.
这个例子可能是我发现的最有用的文章,但是我仍然无法使用一个简单的图表,即使它只在动作方法中渲染图像时也能正常工作.此外,我在.net 4下的样本工作正常,但显然那些不是MVC样本.
SO - 有没有人让微软的图表在Razor的Asp MVC 3中完全运行,并且可以发布一个完整解决方案的链接?
我试图在我的Win2008服务器上安装MSCharts.安装没有问题.然后我在配置中写道.
但是,当我试图用图表打开页面时,它返回错误.找不到请求类型'GET'的http处理程序
你对这个问题有什么看法吗?
我似乎无法找到控制饼图中标签可见性的属性.我需要关闭标签,因为图例中的信息可用.
任何人都知道我可以在代码中使用什么属性?
我尝试将系列标签设置为零,Chart1.Series[i].Label = string.Empty;
但标签似乎无论如何都会出现.
我正在使用MS Chart控件在Winform上绘制图形.
我想在图表区域的Mousedown上显示当前(x,y)值作为工具提示.
我怎么做?
我的MS图表类型列有问题.如果图表中有超过9个条形,则axis-x标签将无法正确显示,其中一些标签将消失.
这是我对图表的加价:
<asp:Chart ID="chtNBAChampionships" runat="server">
<Series>
<asp:Series Name="Championships" YValueType="Int32" Palette="Berry" ChartType="Column" ChartArea="MainChartArea" IsValueShownAsLabel="true">
<Points>
<asp:DataPoint AxisLabel="Celtics" YValues="17" />
<asp:DataPoint AxisLabel="Lakers" YValues="15" />
<asp:DataPoint AxisLabel="Bulls" YValues="6" />
<asp:DataPoint AxisLabel="Spurs" YValues="4" />
<asp:DataPoint AxisLabel="76ers" YValues="3" />
<asp:DataPoint AxisLabel="Pistons" YValues="3" />
<asp:DataPoint AxisLabel="Warriors" YValues="3" />
<asp:DataPoint AxisLabel="Mara" YValues="4" />
<asp:DataPoint AxisLabel="Saza" YValues="9" />
<asp:DataPoint AxisLabel="Buha" YValues="6" />
</Points>
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="MainChartArea">
</asp:ChartArea>
</ChartAreas>
</asp:Chart>
Run Code Online (Sandbox Code Playgroud)
只有9个棒它可以工作,但我不知道它为什么失败超过9个柱.有没有办法让图表正常工作?另外,如果可能的话,如何让每个酒吧都有不同的颜色?
我有一个图表,我希望用户在指针位于点上时看到值.通过在页面中使用digEmAll的帮助查找图表中点的值,我可以编写以下代码:
Point? prevPosition = null;
ToolTip tooltip = new ToolTip();
void chart1_MouseMove(object sender, MouseEventArgs e)
{
var pos = e.Location;
if (prevPosition.HasValue && pos == prevPosition.Value)
return;
tooltip.RemoveAll();
prevPosition = pos;
var results = chart1.HitTest(pos.X, pos.Y, false, ChartElementType.PlottingArea);
foreach (var result in results)
{
if (result.ChartElementType == ChartElementType.PlottingArea)
{
chart1.Series[0].ToolTip = "X=#VALX, Y=#VALY";
}
}
}
Run Code Online (Sandbox Code Playgroud)
通过上面的代码,当指针接近一个系列时,用户可以看到值.但是现在,如果指针位于点上,我怎样才能让用户看到值?我换了
int k = result.PointIndex;
if (k >= 0)
{
chart1.Series[0].Points[k].ToolTip = "X=#VALX, Y=#VALY";
}
Run Code Online (Sandbox Code Playgroud)
代替
chart1.Series[0].ToolTip = …
Run Code Online (Sandbox Code Playgroud) 我目前正在使用.NET中的图表System.Windows.Forms.DataVisualization.Charting.Chart
.到目前为止,它似乎非常强大,而且效果很好.然而,就如何自动计算间隔而言存在巨大的问题.我使用了很多double
值,在像ZedGraph这样的库中,它完美地处理了这个问题.它选择最小/最大/间隔就好了.但是,在MS Chart中,它可以选择206.3334539832作为最小值,并选择相似小数精度的间隔.显然这看起来很难看.
因此,我尝试简单地制作轴格式,{0.00}
并且在加载图表时效果很好.除非放大,否则你需要更高的精度,可能是4位小数而不是2位.看起来我要么一直处于9个小数位,要么是一个常数固定的数字,当有人需要更高的精度时它可能会破坏.我宁愿根据当前应用的缩放级别来获取精度.像ZedGraph和Dundas这样的图书馆(我相信MS甚至正在使用!)倾向于选择在放大和缩小时改变的好值.
当缩放框架改变时,有没有办法让间隔改变精度?这可能是我设置错误的一些简单属性,但很难说这个东西有数百万个属性(特别是当有大约14个地方代表Interval的概念时).
我在我的C#WinForms应用程序中使用.net 4.0中的Chart控件.我有两个系列的数据显示为折线图.
我基本上将供需作为时间的函数.我希望需求是一种颜色的实线,并且供应是相同颜色的虚线.
我可以设置颜色很好,但我找不到任何可以将线条样式设置为虚线的地方.
在System.Windows.Forms.DataVisualization.Charting.Chart
.Net 4.0 WinForms应用程序中使用控件显示图表,我可以将其渲染保存到图片文件中吗?
我使用的DataVisualization.Charting.Chart
很多,而且大部分都在使用.但是,我经常运行代码分析,并自己处理警告.但是,使用图表的*.Designer.cs文件中大约有30个CA2000(未沿所有异常路径布置的对象).Designer文件几乎生成了所有图表代码,几乎所有图表元素都实现了IDisposable
.我在项目首选项中选中了"从生成的代码中抑制结果",但它仍然可以.
有没有办法解决这个问题,而不必手动创建图表对象,并且不会禁用该类中其余代码的代码分析?有没有办法为所有.Designer.cs文件禁用它?或者,是否有解决方案通过使设计师代码处理来正确删除这些警告?