我在 Zedgraph 中使用散点图并尝试在其上添加趋势线。现在,我有两个问题:
- 我应该如何确保包含方程和趋势线 R2 的 textobj 始终位于图形框内图形的左上角?我尝试使用图形比例的最大值和最小值来修复它,但到目前为止我没有成功。
- 如何从图中删除 textobj?
我在下面添加了我的图表图片。
谢谢您的帮助
你可以试试这个,
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
}
希望能帮助到你...:)