Visifire es un control para generar gráficas. Esta hecho con Silverlight 2.0 beta 1 y evidentemente por el momento se encuentra en fase beta. Cuenta con un diseñador de graficas, que convierte en una tarea sencilla crear y adaptar una gráfica a las necesidades del momento. Además, este control es independiente de la tecnología que se use: asp.net, java, etc…
El control se encuentra bajo una licencia de código abierto GPL 3.0. Su uso es libre mientras no se utilice en aplicaciones comerciales. Se puede ver más información sobre su licencia aquí. Por el momento, la única pega que le veo es que utiliza Silverlight 2.0 beta 1, que no es un producto acabado.
Para utilizar este control hay que añadir una referencia a un archivo javascript dentro de la página donde se vaya a insertar. También hay que mantener el archivo Visifire.xap, al cual se hace referencia desde el código javascript. Se pueden descargar de aquí.
Utilizando el diseñador puedes obtener el XML que es necesario para generar la gráfica. Este XML lo puedes escribir dentro del código o dejarlo en un archivo .xml para posteriormente cargarlo desde ahí.
var chartXmlString = ''
+'<vc:Chart xmlns:vc="clr-namespace:Visifire.Charts;assembly=Visifire.Charts"'
+' Width="500" Height="300" BorderThickness="1" RadiusX="5" '
+' RadiusY="5" Theme="Theme2" View3D="False">'
+'<vc:Title Text="IBEX 35"/>'
+'<vc:AxisY AxisMinimum="12800" AxisMaximum="13700">'
+'</vc:AxisY>'
+'<vc:DataSeries Name = "Series1" RenderAs="Line">'
+'<vc:DataPoint AxisLabel="30/05/2008" YValue="13600.90"/>'
+'<vc:DataPoint AxisLabel="3/06/2008" YValue="13431.70"/>'
+'<vc:DataPoint AxisLabel="4/06/2008" YValue="13341.20"/>'
+'<vc:DataPoint AxisLabel="5/06/2008" YValue="13239.30"/>'
+'<vc:DataPoint AxisLabel="6/06/2008" YValue="12909.80"/>'
+'</vc:DataSeries>'
+'</vc:Chart>';
Para renderizar la gráfica sólo es necesario un div, para embeberla.
<div id="Chart">
<script language="javascript" type="text/javascript">
var vChart = new Visifire("Visifire.xap",500,300); vChart.setDataXml(chartXmlString);
vChart.render("Chart"); </script>
</div>
Si se quiere cargar el xml desde un archivo, sólo hay que cambiar el método setDataXml por setDataUri.
<div id="Chart">
<script language="javascript" type="text/javascript">
var vChart = new Visifire("Visifire.xap",500,300); vChart.setDataUri('/xml/ibex35.xml'); vChart.render("Chart"); </script>
</div>
Cuando desplegué este ejemplo dentro de nuestro servidor de demos, tuve un problema con la carga del archivo Visifire.xap. Para solucionarlo lo que hice fue cargar el que tienen hospedado en la página de Visifire, a esta url http://www.visifire.com/product/Visifire.xap.
<div id="Chart">
<script language="javascript" type="text/javascript">
var vChart = new Visifire("http://www.visifire.com/product/Visifire.xap",500,300); vChart.setDataXml(chartXmlString);
vChart.render("Chart"); </script>
</div>
El resultado obtenido es este:
Podéis obtener más información en su web y leyendo su rss. Además, podéis ver la LIVE DEMO que he preparado aquí.
Vamos a ver un pequeño truco para borrar todas las filas vacías de un Excel de una forma rápida e indolora. En mi ejemplo tengo una lista con unas 200 filas aproximadamente, de las cuales unas 100 son columnas vacías que no quiero para nada.
Para borrar todas las filas en blanco:
1. Seleccionar una de las columnas entera, que la selección contenga todas las filas que queremos.
2. Pulsar F5, para que se abra el dialogo “Go To”.
3. Pulsar sobre el botón “Special…”.
4. Seleccionar “Blanks” y pulsar Ok. Ahora sólo estarán seleccionadas las filas en vacías.
5. Finalmente, en Delete -> Delete Cell… o pulsado Ctrl+-. Seleccionar Entire Row y pulsar Ok.
El resultado final es una hoja de Excel sin ninguna fila vacía de por medio.
