【问题标题】:ZedGraph filling areasZedGraph 填充区域
【发布时间】:2011-02-02 20:09:43
【问题描述】:

我正在使用 ZedGraph 控件,想用某种颜色填充图形函数的一侧,而用另一种颜色填充另一侧。

 PointPairList list1 = new PointPairList();
 list1.Add(0, 4);
 list1.Add(4, 0);
 LineItem myCurve = myPane.AddCurve("y(n)", list1, Color.Red, SymbolType.Diamond);

 //This filling bottom side.
 myCurve.Line.Fill = new Fill(Color.White, Color.FromArgb(113, 255, 0, 0), 90F);

 //How to fill the top side?

【问题讨论】:

  • 你不能只添加一个填充作为整个图表的背景,然后像你一样添加第二个作为曲线的填充吗?这应该够了吧。或者你有别的想法?
  • 其实我按照你说的做了,但是我需要填充由多条线交叉形成的区域(一些多边形),我可以在 Zed 图中填充一些多边形区域吗?
  • 你解决了吗?是修改源代码的唯一方法吗?

标签: c# graphics zedgraph


【解决方案1】:

我不是很清楚你在问什么 - 但希望以下内容会有所帮助。你在cmets里说的

我可以在 Zedgraph 中填充一些多边形区域吗?

所以这里是如何...

var zed = new ZedGraph.ZedGraphControl { Dock = System.Windows.Forms.DockStyle.Fill };

var poly = new ZedGraph.PolyObj
{
    Points = new[]
    {
        new ZedGraph.PointD(0, 0),
        new ZedGraph.PointD(0.5, 1),
        new ZedGraph.PointD(1, 0.5),
        new ZedGraph.PointD(0, 0)
    },
    Fill = new ZedGraph.Fill(Color.Blue),
    ZOrder = ZedGraph.ZOrder.E_BehindCurves
};

var poly1 = new ZedGraph.PolyObj
{
    Points = new[]
    {
        new ZedGraph.PointD(1, 0),
        new ZedGraph.PointD(0.25, 1),
        new ZedGraph.PointD(0.5, 0),
        new ZedGraph.PointD(1, 0)
    },
    Fill = new ZedGraph.Fill(Color.Red),
    ZOrder = ZedGraph.ZOrder.E_BehindCurves
};

zed.GraphPane.AddCurve("Line", new[] { 0.0, 1.0 }, new[] { 0.0, 1.0 }, Color.Green);
zed.GraphPane.GraphObjList.Add(poly1);
zed.GraphPane.GraphObjList.Add(poly);

结果

希望这将为您指明正确的方向!

(Code in VB as requested via http://converter.telerik.com/ - 没有保证 VB 代码工作甚至编译!)

【讨论】:

  • 能否请您在 vb.net 中发布该示例的模拟。我认为这对每个人都很有帮助。
  • Via converter.telerik.com...pastebin.com/jsFB1jxP...我好多年没用VB了,所以不能保证有效性。问题更新了。跨度>
猜你喜欢
  • 1970-01-01
  • 2012-09-17
  • 2015-02-08
  • 2022-01-02
  • 2016-06-11
  • 1970-01-01
  • 1970-01-01
  • 2022-06-21
  • 2016-10-08
相关资源
最近更新 更多