0

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

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

我在下面添加了我的图表图片。

谢谢您的帮助

在此处输入图像描述

4

1 回答 1

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();
    }

在此处输入图像描述

当您放大或缩小时,文本对象保持不变,因此您需要添加缩放事件来更新文本对象位置,1)清除文本对象 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
    }

希望能帮助到你...:)

于 2012-08-22T17:08:39.430 回答