首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将趋势线延伸到Dundas图表的任意一侧

将趋势线延伸到Dundas图表的任意一侧
EN

Stack Overflow用户
提问于 2011-07-26 15:57:30
回答 1查看 429关注 0票数 0

我希望有人能帮上忙。我在Visual Studio2005商业智能项目中为Reporting Services v2.2使用了Dundas图表。我正在尝试做的是扩展该系列中心点,以便它从一侧到另一侧横跨整个图表区域。

因此,我想要一条从图表的一端到另一端的线,而不是只在系列的中心有一个标记(即使系列被定义为折线图)。

请帮帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-03 21:15:59

经过多次修修补补和谷歌搜索,我找到了问题的解决方案。我最终做的是在图形的两边指定两个点,然后在它们之间画一条线。这是在“高级”部分图表的“Post Paint”事件中完成的。

我还在parameters部分添加了一个参数,其中包含趋势线的Y-Axis常量。

有关解决方案,请参阅以下代码:

代码语言:javascript
复制
// Parameter: chartObj     - represents the chart object 
// Parameter: sender       - the chart object that will be painted
// Parameter: e            - arguments that contain the graphics object
// Parameter: codeParams   - user defined code parameters

double stripValue = Double.Parse(codeParams["Std"].ToString()); 

PointF p1 = new PointF(); 
p1.X = (float)chartObj.ChartAreas["Default"].AxisX.Minimum; 
p1.X = (float)chartObj.ChartAreas["Default"].AxisX.ValueToPixelPosition(p1.X); 

p1.Y = (float)chartObj.ChartAreas["Default"].AxisY.ValueToPixelPosition(stripValue); 


PointF p2 = new PointF(); 
p2.X = (float)chartObj.ChartAreas["Default"].AxisX.Maximum; 
p2.X = (float)chartObj.ChartAreas["Default"].AxisX.ValueToPixelPosition(p2.X); 

p2.Y = (float)chartObj.ChartAreas["Default"].AxisY.ValueToPixelPosition(stripValue); 


e.ChartGraphics.Graphics.DrawLine(new Pen(Color.FromArgb(255, 0, 0, 0), 1), p1, p2);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6826959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档