关于ZedGraph中的TextObj的两个问题,C#

时间:2012-08-17 14:23:17

标签: c# text label zedgraph

我在Zedgraph中使用散点图并尝试在其上添加趋势线。 现在,我有两个问题:

  1. 我应该如何确保包含方程式和趋势线R2的textobj始终位于图形框内图形的左上角?我尝试使用图表比例的最大值和最小值来修复它,但到目前为止我都没有成功。
  2. 如何从图表中删除textobj?
  3. 我在下面添加了图表的图片。

    感谢您的帮助

    enter image description here

1 个答案:

答案 0 :(得分:3)

你可以试试这个,

    GraphPane pane;

    public Form1()
    {
        InitializeComponent();
        pane = zedGraphControl1.GraphPane;            
    }

    private void button_AddTxtObj_Click(object sender, EventArgs e)
    {            
        TextObj textEquation = new TextObj("Add your Text", pane.XAxis.Scale.Min+ (3*(pane.XAxis.Scale.MinorStep)), pane.YAxis.Scale.Max-pane.YAxis.Scale.MinorStep);            
        pane.GraphObjList.Add(textEquation);
        zedGraphControl1.Refresh();
    }

    private void button_ClearTxtObj_Click(object sender, EventArgs e)
    {
        pane.GraphObjList.Clear();
        zedGraphControl1.Refresh();
    }

enter image description here

当您放大或缩小时,文本对象保持不变,因此您需要添加缩放事件以更新文本对象位置,1)清除textobject 2)使用上述方法查找x& y位置3 )重绘文本对象:

private void zedGraphControl1_ZoomEvent(ZedGraphControl sender, ZoomState oldState, ZoomState newState)
    {

        // 1) clear the textobject
        // 2) use the above approach to find the x&y positions
        // 3) redraw the text object
    }

希望它有帮助...:)