2012-10-10 10 views
5

Quiero agregar un logotipo o mi software nombre en la esquina inferior derecha de mi gráfico. Usé TextObj pero el problema es que su ubicación cambia al cambiar la escala del gráfico por la rueda del mouse. Debería usar otro objeto, pero no sé lo que es. por favor, ayúdame.Cómo crear una etiqueta estática de ZedGraph

Respuesta

4

Aquí es una solución simple:

private void Form1_Load(object sender, EventArgs e) 
{ 
    GraphPane pane = zedGraphControl1.GraphPane; 
    var text = new TextObj("Your Comapany Name Ltd.",(0.6)*(pane.XAxis.Scale.Max), 1.1, CoordType.ChartFraction, AlignH.Left, AlignV.Top); 
    text.ZOrder = ZOrder.D_BehindAxis; 
    pane.GraphObjList.Add(text);    
    zedGraphControl1.Refresh(); 
} 

Cambio x & Y los valores para posicionar nombre de la empresa.

enter image description here

EDIT:

Sólo hay que sustituir objeto de texto con un objeto de imagen y aquí está:

private void Form1_Load(object sender, EventArgs e) 
{ 
    GraphPane pane = zedGraphControl1.GraphPane;    
    Image img = Image.FromFile(@"C:\i.jpg"); 
    var logo = new ImageObj(img, new RectangleF(0.8f, 1.1f, 0.08f, 0.1f), CoordType.ChartFraction, AlignH.Left, AlignV.Top);    
    pane.GraphObjList.Add(logo); 
    zedGraphControl1.Refresh(); 
} 

enter image description here

+0

La solución es cierto, pero se debería cambiar "(0.6) * (panel.XAxis.Scale.Max)" a "0.6". Porque deberías usar una fracción. ¿Puedes encontrar una forma de usar un logotipo en lugar de texto? – user1735169

+0

Eche un vistazo a la sección EDITAR, espero que ayude ... – SanVEE

+0

Buena respuesta. Para la esquina inferior derecha, iría con New TextObj (sLabel, 0.98, 0.98, CoordType.PaneFraction, AlignH.Right, AlignV.Bottom) - Usando PaneFraction y .Right, .Bottom mantendrá la alineación mejor si el texto cambia. – edhubbell

Cuestiones relacionadas