super2d3dgraphlibrary spanish

19
Super 2d/3d Graph Library Edición .NET Versión 7.0 Componente de Interfaz de Usuario para el dibujado de gráficas] para WinForms y ASP.NET © 2006 Software Siglo XXI Hwww.softwaresiglo TUX UTTUX UTI.com H Correo electrónico: Hcontact@softwaresiglo TUX UTTU X UTI.com H

Upload: angel-del-castillo

Post on 08-Mar-2015

57 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Super2d3dGraphLibrary Spanish

Super 2d/3d Graph Library Edición .NET Versión 7.0

Componente de Interfaz de Usuario para el dibujado de gráficas]

para WinForms y ASP.NET

© 2006 Software Siglo XXI

Hwww.softwaresigloTUXUTTUXUTI.comH

Correo electrónico: [email protected]

Page 2: Super2d3dGraphLibrary Spanish

Super 2d/3d Graph Library Reference

Page 2 of 19

Introducción Super2d3dGraphLibrary es un control de usuario nativo de .NET para el dibujado de gráficas. A partir de la versión 4 puede utilizarse tanto como control de formulario Winform como en páginas ASP.NET. Super2d3dGraphLibrary admite un alto grado de personalización a través de sus propiedades que le permiten mostrar u ocultar los diversos elementos que componen una gráfica con el aspecto que desee. En la versión actual los siguientes tipos de gráficas están soportadas: columnas, columnas acumuladas, área, puntos, líneas y tarta. Este documento explica de forma resumida el funcionamiento de cada control y sus métodos y propiedades. Si necesita ayuda sobre algún control o desea transmitir una sugerencia, visite Hwww.softwaresigloTUXUTTUXUTI.com H para más información. Funcionalidad general (versión 2.0):

Muestra en el formulario el gráfico de forma rápida y según las propiedades que establecen sus valores y aspecto gráfico.

Permite especificar la resolución del bitmap generado (por defecto, la resolución de pantalla). Permite exportar el bitmap a uno de los siguientes formatos: BMP, GIF, JPG, PNG, TIFF y WMF. La posibilidad de exportar el bitmap junto con la posibilidad de especificar una resolución mayor,

permite imprimir el gráfico la calidad de impresión que se desee. Posibilidad de mostrar/ocultar tabla de datos, leyenda, divisores horizontales, verticales y valores. Posibilidad de asignar estilos de líneas, colores, gradientes y fuentes. Varios estilos de gráficas en 2d y 3d.

o 2d: barras, líneas, puntos, acumulados, área, tarta. o 3d: barras, columnas, área, líneas y tarta.

Refresco automático o manual al cambiar una propiedad del gráfico. Animación: una única llamada a la función permite animar el gráfico desde cero hasta los valores

indicados. Posibilidad de especificar la inclinación en los ejes X e Y para gráficas 3D. Muestra opcionalmente la línea de superficie (valor 0) en gráficas 3D (sólo barras). Permite mostrar o no las paredes en una gráfica 3D (salvo tarta).

Nuevas funciones en versión 3.0:

Permite especificar un color y un estilo de gradiente para el fondo del gráfico. Posibilidad de mostrar sobre el gráfico una línea que representa un cálculo adicional del tipo media

aritmética (recta o spline) o PARETO. Muestra/oculta valores en el eje X. Nuevos estilos de gráficas 2d: high-low, high-low-close, candlestick y spline. Posibilidad de indicar la ubicación de los valores: normal o dentro de la barra. Nuevos eventos.

Nuevas funciones en versión 4.0:

Mejorados algunos aspectos menores generales. Posibilidad de utilizarse en aplicaciones web ASP.NET. Nueva aplicación de ejemplo ASP.NET.

Page 3: Super2d3dGraphLibrary Spanish

Super 2d/3d Graph Library Reference

Page 3 of 19

Nuevas funciones en versión 5.0:

Dos nuevos tipos de gráficas: disperso y burbuja. Posibilidad de especificar el estilo de relleno de la rejilla (transparentes, bandas o tablero ajedrez). Mejoras estéticas en la tabla de datos y posibilidad de indicar color de texto y fondo Cuando los valores se muestran dentro de las barras ahora se dibujan de abajo a arriba y en cursiva

para facilitar la lectura Nuevas propiedades para el estilo de puntos (PointSize y PointStyle). Mejoras en el trazado de líneas gráficas (se evitan picos) Antisolapado de etiquetas (nuevo valor para ValuesLocationStyle)

Nuevas funciones en versión 5.5:

Se pueden girar las etiquetas de los ejes (XAxisLabelsRotated y YAxisLabelsRotated) Mejor presentación para textos (la propiedad Quality ahora afecta también a las etiquetas y valores;

el valor HighQuality activa el efecto ClearType para los textos) Remarca automáticamente los valores máximo (MarkHighest) y mínimo (MarkLowest) Corregidos varios problemas e introducidas algunas mejoras menores en algunas gráficas

Nuevas funciones en versión 6.0:

Nuevos tipos de gráficas: pirámide y de imágenes Nuevos estilos de gradiente de fondo Puede especificar formato de número para ambos ejes Elija entre escala automática o fija para cada eje La rejilla soporta imágenes de fondo con nivel de transparencia Gráficas de tarta mejoradas con posibilidad de separar sectores (2D/3D)

Nuevas funciones en versión 6.5:

Nuevo tipo de gráfica: Doughnut o Anillo (2D y 3D con posibilidad de separar sectores) Puede cambiar el texto al título “Datatable” o “Legend” (DataTableText y LegendText) Puede asignar títulos a los ejes X e Y (YAxisTitle, YAxisTitleFont, XAxisTitle, XAxisTitleFont) Puede indicar la posición de la leyenda (LegendAlignment) Profundidad de la tarta / doughtnut / anillo variable (Depth) Indique el tamaño del agujero en gráficas doughnut / anillo (HoleSize) Remarque los valores agregando puntos en las gráficas de línea, spline o área (ShowPoints).

Nuevas funciones en versión 7.0:

Nuevos tipos de gráficas: Cilindros 2D/3D, Curvas 3D (spline 3D), Barras redondeadas 2D, Áreas curvas (3D) , Áreas curvas acumuladas (3D).

Mejorado el tipo de gráfica de áreas 3D Nuevos cálculos adicionales: línea superior, spline superior Corrección de perspectiva en la gráfica donut 3D Cuadro de diálogo integrado para cambiar estilos y opciones en tiempo de ejecución por parte del

usuario de forma sencilla Soporte de idiomas inglés y español Otras correcciones y mejoras menores

¡Por favor, consulte la página Hwww.softwaresigloTUx UTTUx UTi.com H para más información actualizada!

Page 4: Super2d3dGraphLibrary Spanish

Super 2d/3d Graph Library Reference

Page 4 of 19

Cómo utilizar el componente en Visual Studio .NET Nota importante: Para facilitar el uso del componente, recomendamos agregarlo al GAC (Global Assembly Cache) con la utilidad gacutil del .NET Framework de la siguiente forma:

Gacutil –i Super2d3dGraphLibrary.dll Si instala el .msi, el instalador se encarga de hacer esto por Ud., pero si instala la DLL manualmente en otro equipo le recomendamos registrarla de esta forma. Proyectos de aplicaciones para Windows: Para utilizar el control de usuario en un formulario de Windows (WinForm) basta con añadirlo a la paleta de controles desde Visual Studio .NET pulsando con botón derecho sobre la paleta de controles y seleccionando agregar o quitar elementos, como muestra la figura siguiente:

A continuación, si hemos registrado el componente con la herramienta gacutil debería mostrarse en la lista de componentes disponibles. Si no es así, pulsar sobre el botón Examinar, localizar el archivo Super2d3dGraphLibrary.dll y ya podrá ver el componente en la paleta, listo para ser arrastrado al formulario:

Page 5: Super2d3dGraphLibrary Spanish

Super 2d/3d Graph Library Reference

Page 5 of 19

Super2d3dGraphLibrary admite un alto grado de personalización a través de sus propiedades que le permiten mostrar u ocultar los diversos elementos que componen una gráfica con el aspecto que desee. En la versión actual los siguientes tipos de gráficas están soportadas: columnas, columnas acumuladas, área, puntos, líneas y tarta. Proyectos de aplicaciones ASP.NET (aplicación web): En aplicaciones ASP.NET, el funcionamiento del componente es diferente, ya que no se provee de una interfaz Web Control, sino que ha de hacerse mediante código. Por ejemplo, supongamos que desea mostrar una gráfica en la página webform1.aspx. En esta página basta con incluir un elemento HTML de tipo imagen cuya fuente sea una página aspx que renderice el gráfico. Es decir, en webform1.aspx tan sólo tendría que incluir donde desee: <img src="SampleChart.aspx"> SampleChart.aspx será una página aspx que instanciará el componente Super2d3dGraphLibrary y creará el gráfico en tiempo real, sin generar archivos temporales y devolviendo el JPG o GIF con el gráfico a webform1.aspx. En la página siguiente incluimos un ejemplo tipo de SampleChart.aspx (también puede consultar la aplicación demo para ASP.NET descargable desde http://www.softwaresigloxxi.com)

Page 6: Super2d3dGraphLibrary Spanish

Ejemplo de SampleChart.aspx: Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim oGraph As New Super2d3dGraphLibrary.Super2D3dGraph ' First, create a sample 2d Bar chart ' Get some random values ... Dim arrSeries(1) As ArrayList For k As Integer = 0 To UBound(arrSeries) arrSeries(k) = New ArrayList For j As Integer = 0 To 5 arrSeries(k).Add(Rnd() * 1000 - 500) Next Next ' Assign properties to Super2d/3dGraphLibrary control ... With oGraph ' All of the following lines are optional, change them as needed; from here... .AutoRefresh = False ' This prevents internal buffer to be painted after each property changes .Series = arrSeries ' Assign previous random values to the chart control .Title = "2d Bar Chart" ' Title of the chart .SeriesLegend = New String() {"Apples", "Pearls"} ' Names for each serie .Style = Super2d3dGraphLibrary.STYLE2D3D.STYLE2D_BAR ' 2d bar classic chart .Width = 450 ' Chart width .Height = 300 ' Char height .BackColor = Color.LightYellow ' Background color .BackStyle = Super2d3dGraphLibrary.STYLEBACKGROUND.STYLEBACKGROUND_GRADIENT_INVERTED .Calculation = Super2d3dGraphLibrary.CALCULATION.CALCULATION_AVERAGE_SPLINE ' Calculate an average spline and draw it .ValuesLocationStyle = Super2d3dGraphLibrary.STYLECAPTIONLOCATION.STYLECAPTIONLOCATION_INSIDE ' Put values inside the bars .ShowDataTable = False ' Don't need to show the datatable this time .CastShadows = True ' Add a subtle shadow to each bar .Quality = Drawing2D.SmoothingMode.HighQuality ' Best result ' ... to here. .RefreshChart() ' Draw the chart on an internal buffer End With ' Now, let's output the drawn chart...

Page 7: Super2d3dGraphLibrary Spanish

Super 2d/3d Graph Library Reference

Page 7 of 19

' Change the response headers to output a JPEG image. Response.Clear() Response.ContentType = "image/jpeg" ' Write the image to the response stream in JPEG format. oGraph.BackgroundImage.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg) ' Dispose of the graph control oGraph.Dispose() End Sub

Page 8: Super2d3dGraphLibrary Spanish

Propiedades

Versión Miembro Tipo Descripción Valor por defecto 2 AutoRefresh Boolean Establece si se vuelve a dibujar el gráfico al

modificar cualquier propiedad del mismo. Por defecto es TRUE. Si está a falso, es necesario llamar a RefreshChart para que se vuelva a dibujar el gráfico.

True

3 BackColor System. Drawing.Color Color para el fondo del gráfico Color.White 3 BackStyle STYLEBACKGROUND Estilo para el fondo del gráfico. Puede valer:

STYLEBACKGROUND_SOLID = 0 STYLEBACKGROUND_GRADIENT = 1 STYLEBACKGROUND_GRADIENT_INVERTED = 2

STYLEBACKGROUND_SOLID

1 BorderColor System. Drawing.Color Color para el borde Color.Red 5 BubbleMaxSize Long Tamaño máximo en pixels para la burbuja 100 7 BuiltinDialogAllowed Boolean Si se permite que aparezca el menú contextual

al pulsar con botón derecho sobre el gráfico (sólo WinForms)

True

7 BuiltinDialogLanguage LANGUAGE Idioma del menú contextual LANGUAGE.LANG_ENGLISH 3 Calculation CALCULATION Tipo de cálculo adicional a mostrar sobre el

gráfico: CALCULATION_NONE = 0 CALCULATION_AVERAGE = 10 CALCULATION_AVERAGE_SPLINE = 11 CALCULATION_PARETO = 20

CALCULATION_NONE

3 CalculationLineStyle Pen Estilo de línea para el cálculo adicional indicado por Calculation

New Pen(Color.Blue, 3)

1 CastShadows Boolean Muestra/Oculta una sombra debajo de las gráficas (se ignora para los tipos de gráfica de lineas y puntos)

False

5 DataTable BackColor Color Color para el fondo de la tabla de datos Color.White 5 DataTableColor Color Color para el texto de la tabla de datos Color.Black

6.5 Depth Integer Profundidad de la tarta 30

6 GridBackgroundImage Image Imagen a mostrar como fondo de la rejilla Nothing 6 GridBackgroundImage

Transparency Integer Porcentaje de transparencia de la imagen de

fondo (0= opaco, 100=transparente) 0

6.5 HoleSize Integer Tamaño del agujero central en una gráfica de 30

Page 9: Super2d3dGraphLibrary Spanish

Super 2d/3d Graph Library Reference

Page 9 of 19

doughnut (Donut) o anillo 1 Image Bitmap Devuelve la imagen del gráfico 2 ItemsLegend String() Títulos de los elementos para el eje X Vacío 6 ItemsHightlight String() Asigna cualquier texto a cualquier elemento del

array para separar el sector de la gráfica de tartas. Por ejemplo, ItemsHighlight(3) = “separar” produciría que el elemento 3 de la gráfica se muestra separado del resto. Puedes asignar cualquier texto ya que de momento no se utiliza, pero en futures versiones el texto podría mostrarse sobre el sector separado para describir más información sobre el elemento.

Empty

6.5 LegendAlignment STYLEALIGNMENT Posición de la leyenda si se muestra STYLEALIGNMENT. STYLEALIGNMENT_MIDDLE_RIGHT

2 LegendColor Color Color para la leyenda 5 LicenseeIdentifier Long Número identificativo del usuario o empresa

que ha adquirido la licencia de la librería 0

5.5 MarkHighest Boolean Muestra el valor máximo con fondo amarillo y texto azul

False

5.5 MarkLowest Boolean Muestra el valor mínimo con fondo rojo y texto en amarillo

False

5 PointStyle STYLEPOINT Tipo de punto STYLEPOINT_CIRCLE 5 PointSize Integer Tamaño del punto 4 2 Quality System.Drawing.

Drawing2d. SmoothingMode

Calidad del trazado Default

1 Resolution Long Resolución en puntos por pulgada (ppp) 72 1 Series ArrayList Lista de arrays que contienen los valores para

cada serie. Para el tipo de gráfica tarta, sólo se tiene en cuenta la primera serie.

(2 series con 8 valores cada una aleatorios)

1 SeriesColor Array de System. Drawing.Color

Array con el color de cada serie. Para el tipo tarta, cada color se corresponde con uno de los valores

Aleatorio

1 SeriesFillStyle Array de System. Drawing.Brush

Contiene un brush para cada serie (sólo para el tipo de gráfica de puntos)

Page 10: Super2d3dGraphLibrary Spanish

Super 2d/3d Graph Library Reference

Page 10 of 19

1 SeriesLegend Array de String Nombre de cada serie 1 SeriesLineStyle Array de System.

Drawing.Pen Estilos de línea para el tipo de grafica de líneas

6 SeriesPicture Array de Image Contiene una imagen por cada serie de la gráfica. Debe ser utilizado en el tipo de gráfica de imágenes (STYLE2D_PICTURES).

1 ShowDataTable Boolean Muestra/Oculta una tabla en la parte inferior con los valores para cada serie

True

1 ShowDividerX Boolean Muestra/Oculta líneas de división para cada valor de serie (líneas verticales)

True

2 ShowItemsLegend Boolean Si muestra los nombres de los elementos del eje X

False

1 ShowLegend Boolean Muestra/Oculta la leyenda en la parte inferior derecha

True

6.5 ShowPoints Boolean Si se añaden puntos o marcas extra en las gráficas de líneas, spline o área

True

2 ShowSurface3d Boolean Muestra/Oculta la línea de superficie en gráfica 3d de barras.

False

1 ShowSolidColors Boolean Muestra el gráfico con un rellenado sólido o un gradiente según los colores asignados a las series

False

1 ShowValues Boolean Muestra/Oculta los valores para cada serie en el propio gráfico

True

3 ShowXAxis Boolean Muestra/Oculta valores para el eje X True 2 SlantX Single Desplazamiento horizontal para el efecto 3D 30 2 SlantY Single Desplazamiento vertical para el efecto 3D 30 1 Style STYLE2D3D Muestra el gráfico según este estilo STYLE2D_BAR 7 Thickness Integer Grosor de los cilindros 3D 30 1 Title String Título del gráfico “Title” 1 TitleFont System. Drawing.Font Fuente del título 1 TitleColor System. Drawing.Color Color del título Color.Black 2 ValuesBackColor System. Drawing.Color Color para el fondo de los valores Color.Orange 2 ValuesColor System. Drawing.Color Color para los valores Color.Black 2 ValuesFont System. Drawing.Font Fuente de los valores

Page 11: Super2d3dGraphLibrary Spanish

Super 2d/3d Graph Library Reference

Page 11 of 19

2 ValuesFormat String Cadena de formato para los valores “N” 3 ValuesLocationStyle STYLECAPTIONLOCATION Especifica la ubicación de los valores STYLECAPTIONLOCATION_DEFAULT 2 ValuesStyle STYLECAPTION Estilo para los valores STYLECAPTION_ROUNDED_SQUARE 5 WallsBackStyle STYLEWALLBACKGROUND Estilo de relleno para la rejilla STYLEWALLBACKGROUND_BANDS 5 WallsBackColor

Principal Color Color principal para el relleno de la rejilla Color.FromArgb(64, 148, 232,

255)

5 WallsBackColor Secondary

Color Color secundario para el relleno de la rejilla Color.FromArgb(128, 148, 232, 255)

2 WallStyle STYLEWALLS Estilo para los muros del gráfico 3d STYLEWALLS_NOWALLS 5.5 XAxisLabelsRotated Boolean Muestra las etiquetas del eje X giradas 45º False 6 XAxisNumericFormat String Expresión de formato para los valores del eje X

(use “0” para mostrar únicamente valores enteros, sin decimales)

“N”

6 XAxisScaleMode SCALEMODE Tipo de escala para el eje X (automático o fijo). Si se emplea el tipo fijo, use las propiedades XAxisScaleMinimum y XAxisScaleMaximum para especificar el rango.

SCALEMODE.AUTOMATIC

6 XAxisScaleMaximum Single Valor máximo para la escala del eje X. 0 6 XAxisScaleMinimum Single Valor mínimo para la escala del eje Y. 0

6.5 XAxisTitle String Título para el eje X “” 6.5 XAxisTitleFont Font Fuente para el título del eje X Font("Arial", 11,

FontStyle.Bold, GraphicsUnit.Point)

1 YAxisDividersCount Long Número de divisores horizontales. Si se asigna un 0 (cero), no se muestra ningún divisor horizontal

10

5.5 YAxisLabelsRotated Boolean Muestra las etiquetas del eje Y giradas 45º False 6 YAxisNumericFormat String Expresión de formato para los valores del eje Y

(use “0” para mostrar únicamente valores enteros, sin decimales)

“N”

6 YAxisScaleMode SCALEMODE Tipo de escala para el eje Y (automático o fijo). Si se emplea el tipo fijo, use las propiedades YAxisScaleMinimum y YAxisScaleMaximum para especificar el rango.

SCALEMODE.AUTOMATIC

6 YAxisScaleMaYimum Single Valor máximo para la escala del eje Y. 0

Page 12: Super2d3dGraphLibrary Spanish

Super 2d/3d Graph Library Reference

Page 12 of 19

6 YAxisScaleMinimum Single Valor mínimo para la escala del eje Y. 0 6.5 YAxisTitle String Título para el eje Y “” 6.5 YAxisTitleFont Font Fuente para el título del eje Y Font("Arial", 11,

FontStyle.Bold, GraphicsUnit.Point)

Métodos

Versión Miembro Parámetros Descripción 2 Animate Ninguno. Muestra una animación de la gráfica partiendo del valor 0 para cada serie hasta llegar al valor indicado originalmente. 2 RefreshChart Ninguno. Refresca el gráfico.

Eventos

Versión Nombre Parámetros Descripción 3 BeginPaint g as graphics Se produce cuando se limpia el contenido del control y antes de empezar a dibujar nada 3 BeforeEndPaint G as graphics Se produce justo antes de actualizar la imagen del control 3 AfterPaint G as graphics Se produce tras actualizar la imagen del control

Código de ejemplo VB.NET (Windows Application) Para utilizar el control de usuario se debe añadir a la paleta de controles manualmente, pulsando sobre botón derecho en la paleta, elegir agregar componente y pulsar sobre examinar (elegir del disco el archivo Super2d3dGraphLibrary.dll). Una vez realizado esto podremos arrastrarlo a cualquier formulario.

Page 13: Super2d3dGraphLibrary Spanish

Super 2d/3d Graph Library Reference

Page 13 of 19

Toda gráfica require que se proporcionen unos valores mediante la propiedad Series (Series representa a todas las series y cada serie contiene al menos un elemento o valor). El tipo de la propiedad Series es “Array de ArrayList”. Es un Array porque representa a todas las series. Cada elemento del array (una serie) es de tipo ArrayList y al ArrayList se le puede agregar cualquier valor. Los tipos de gráficas normales sólo requieren un valor de tipo double por cada elemento de la gráfica (valor Y en el gráfico). Por ejemplo, el tipo de gráfica “columnas” sólo requiere conocer la altura de cada columna para poderse dibujar. Otros tipos de gráficas, como High-Low y Scatter, requieren que cada serie esté compuesta de arrays bidimensionales (x,y) en lugar de un solo Double, mientras que los tipos High-Low-Close y Bubble requieren arrays tridimensionales (x,y,z). El tipo candlestick requiere cuatro dimensiones (mínimo, máximo, apertura y cierre). El tipo de gráficas “candlestick” también se denomina "stock chart”. El siguiente código asume que el control de usuario del formulario se llama oGraph. Esta plantilla de código de puede utilizar para cualquier tipo de gráficas de una dimensión (barras, líneas, puntos, etc. pero no high-low, high-low-close, candlestick, scatter o bubble) porque como vemos en la línea en negrita se añade al ArrayList un único valor aleatorio y no un array. ' Get some random values ... Dim arrSeries(1) As ArrayList For k As Integer = 0 To UBound(arrSeries) arrSeries(k) = New ArrayList For j As Integer = 0 To 5 arrSeries(k).Add(Rnd() * 1000 - 500) Next Next With oGraph ' All of the following lines are optional, change them as needed; from here... .AutoRefresh = False ' This prevents internal buffer to be painted after each property changes .Series = arrSeries ' Assign previous random values to the chart control .Title = "2d Bar Chart" ' Title of the chart .SeriesLegend = New String() {"Apples", "Pearls"} ' Names for each serie .Style = Super2d3dGraphLibrary.STYLE2D3D.STYLE2D_BAR ' 2d bar classic chart .Width = 450 ' Chart width .Height = 300 ' Char height .BackColor = Color.LightYellow ' Background color .BackStyle = Super2d3dGraphLibrary.STYLEBACKGROUND.STYLEBACKGROUND_GRADIENT_INVERTED .Calculation = Super2d3dGraphLibrary.CALCULATION.CALCULATION_AVERAGE_SPLINE ' Calculate an average spline and draw it

Page 14: Super2d3dGraphLibrary Spanish

Super 2d/3d Graph Library Reference

Page 14 of 19

.ValuesLocationStyle = Super2d3dGraphLibrary.STYLECAPTIONLOCATION.STYLECAPTIONLOCATION_INSIDE ' Put values inside the bars .ShowDataTable = False ' Don't need to show the datatable this time .CastShadows = True ' Add a subtle shadow to each bar .Quality = Drawing2D.SmoothingMode.HighQuality ' Best result ' ... to here. .RefreshChart() ' Draw the chart on an internal buffer End UIT

Page 15: Super2d3dGraphLibrary Spanish

Super 2d/3d Graph Library Reference

Page 15 of 19

Código de ejemplo C# (Windows Application) Para utilizar el control de usuario se debe añadir a la paleta de controles manualmente, pulsando sobre botón derecho en la paleta, elegir agregar componente y pulsar sobre examinar (elegir del disco el archivo Super2d3dGraphLibrary.dll). Una vez realizado esto podremos arrastrarlo a cualquier formulario. Toda gráfica require que se proporcionen unos valores mediante la propiedad Series (Series representa a todas las series y cada serie contiene al menos un elemento o valor). El tipo de la propiedad Series es “Array de ArrayList”. Es un Array porque representa a todas las series. Cada elemento del array (una serie) es de tipo ArrayList y al ArrayList se le puede agregar cualquier valor. Los tipos de gráficas normales sólo requieren un valor de tipo double por cada elemento de la gráfica (valor Y en el gráfico). Por ejemplo, el tipo de gráfica “columnas” sólo requiere conocer la altura de cada columna para poderse dibujar. Otros tipos de gráficas, como High-Low y Scatter, requieren que cada serie esté compuesta de arrays bidimensionales (x,y) en lugar de un solo Double, mientras que los tipos High-Low-Close y Bubble requieren arrays tridimensionales (x,y,z). El tipo candlestick requiere cuatro dimensiones (mínimo, máximo, apertura y cierre). El tipo de gráficas “candlestick” también se denomina "stock chart”. El siguiente código muestra cómo asignar valores a la propiedad Series del gráfico: ArrayList[] data = new ArrayList[2]; Random rnd = new Random(); for (int serie=0;serie<2;serie++) { data[serie] = new ArrayList(); // Each ArrayList corresponds to a "serie" for(int k =0;k<5;k++) { // Put two values for each "serie" data[serie].Add ( rnd.Next(-100,100) ); data[serie].Add ( rnd.Next(100) ); } } super2D3dGraph1.Series = data; super2D3dGraph1.RefreshChart();

Page 16: Super2d3dGraphLibrary Spanish

Super 2d/3d Graph Library Reference

Page 16 of 19

Código de ejemplo ASP.NET (Web Application) El siguiente código es equivalente al anterior pero está preparado para utilizarse en una página ASPX. Es importante que entienda que Super2d3dGraphLibrary no es un control web (no se puede agregar desde la paleta de componentes a una página web) sino que debe utilizarse exclusivamente a nivel de código en el evento Page_Load. Por ejemplo:

Page 17: Super2d3dGraphLibrary Spanish

Super 2d/3d Graph Library Reference

Page 17 of 19

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim oGraph As New Super2d3dGraphLibrary.Super2D3dGraph ' First, create a sample chart ' Get some random values ... Dim arrSeries(1) As ArrayList For k As Integer = 0 To UBound(arrSeries) arrSeries(k) = New ArrayList For j As Integer = 0 To 5 arrSeries(k).Add(Rnd() * 1000 - 500) Next Next ' Assign properties to Super2d/3dGraphLibrary control ... With oGraph ' All of the following lines are optional, change them as needed; from here... .AutoRefresh = False ' This prevents internal buffer to be painted after each property changes .Series = arrSeries ' Assign previous random values to the chart control .Title = "2d Bar Chart" ' Title of the chart .SeriesLegend = New String() {"Apples", "Pearls"} ' Names for each serie .Style = Super2d3dGraphLibrary.STYLE2D3D.STYLE2D_BAR ' 2d bar classic chart .Width = 450 ' Chart width .Height = 300 ' Char height .BackColor = Color.LightYellow ' Background color .BackStyle = Super2d3dGraphLibrary.STYLEBACKGROUND.STYLEBACKGROUND_GRADIENT_INVERTED .Calculation = Super2d3dGraphLibrary.CALCULATION.CALCULATION_AVERAGE_SPLINE ' Calculate an average spline and draw it .ValuesLocationStyle = Super2d3dGraphLibrary.STYLECAPTIONLOCATION.STYLECAPTIONLOCATION_INSIDE ' Put values inside the bars .ShowDataTable = False ' Don't need to show the datatable this time .CastShadows = True ' Add a subtle shadow to each bar .Quality = Drawing2D.SmoothingMode.HighQuality ' Best result ' ... to here. .RefreshChart() ' Draw the chart on an internal buffer End With

Page 18: Super2d3dGraphLibrary Spanish

Super 2d/3d Graph Library Reference

Page 18 of 19

' Now, let's output the drawn chart... ' Change the response headers to output a JPEG image. Response.Clear() Response.ContentType = "image/jpeg" ' Write the image to the response stream in JPEG format. oGraph.BackgroundImage.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg) ' Dispose of the graph control oGraph.Dispose() End Sub End Class

Page 19: Super2d3dGraphLibrary Spanish

Super 2d/3d Graph Library Reference

Page 19 of 19

Código de ejemplo C# (creando gráficas sin formulario) El siguiente código crea un archivo de imagen con la gráfica sin necesidad de emplear el control de usuario. Super2d3dGraphLibrary.Super2D3dGraph oGraph = new Super2d3dGraphLibrary.Super2D3dGraph(); ArrayList[] data = new ArrayList[2]; Random rnd = new Random(); for (int serie=0;serie<2;serie++) { data[serie] = new ArrayList(); // Each ArrayList corresponds to a "serie" for(int k =0;k<5;k++) { // Put two values for each "serie" data[serie].Add ( rnd.Next(-100,100) ); data[serie].Add ( rnd.Next(100) ); } } oGraph.Width = 700; oGraph.Height = 400; oGraph.Series = data; oGraph.BackgroundImage.Save("c:\\test.png", System.Drawing.Imaging.ImageFormat.Png);