Paco de Lucía y Camarón de la Isla.
Es hermano de artistas flamencos: de Pepe de Lucía, cantaor profesional ya de niño, y de Ramón de Algeciras, guitarrista también profesional. Ambos han sido miembros de su banda. Durante muchos años, le han acompañándo en grabaciones y giras, han tenido ellos sus propias carreras en solitario y han trabajado con otros artistas.
A finales de los años 60, conoce a Camarón de la Isla, con quien crea una mítica unión musical, fruto de la cual son los primeros discos de ambos.5 Se muestran como excelentes intérpretes del flamenco más ortodoxo. Grabaron diez discos entre 1968 y 1977. Después, juntos y por separado, fueron precursores de un flamenco más popular y mestizo entrando en el terreno del pop, el rock y el jazz.
Otro aporte de Paco de Lucía al arte Flamenco contemporáneo ha sido la inclusión del cajón. Este instrumento de la música afroperuana es conocido por Paco de Lucía en Perú a fines de los años 70, de manos de Carlos "Caitro" Soto de la Colina, cajonero y compositor peruano. Paco de Lucía intuye y entiende, al conocer este instrumento peruano, que puede ser una solución a la permanente necesidad de percusión que requiere el flamenco, y lo añade, en complicidad con Rubem Dantas, a los elementos percusivos utilizados en su sexteto de entonces, convirtiéndose el cajón desde ese momento y con el paso del tiempo en un instrumento imprescindible del arte flamenco contemporáneo y,luego, de otras corrientes musicales internacionales.
domingo, 21 de agosto de 2011
Paco de Lucía
domingo, 19 de junio de 2011
Ejemplo 5: Población con Time Series JFreeChart
package jfree;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.DateAxis;
import org.jfree.chart.plot.XYPlot;
import org.jfree.data.time.Day;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
public class TimeSeriesChart {
public static void main(String[] args) {
TimeSeries pop = new TimeSeries("Población 1", Day.class);
pop.add(new Day(10, 1, 2011), 100);
pop.add(new Day(10, 2, 2011), 150);
pop.add(new Day(10, 3, 2011), 250);
pop.add(new Day(10, 4, 2011), 275);
pop.add(new Day(10, 5, 2011), 325);
pop.add(new Day(10, 6, 2011), 425);
TimeSeries pop2 = new TimeSeries("Poblacion 2", Day.class);
pop2.add(new Day(20, 1, 2011), 200);
pop2.add(new Day(20, 2, 2011), 250);
pop2.add(new Day(20, 3, 2011), 450);
pop2.add(new Day(20, 4, 2011), 475);
pop2.add(new Day(20, 5, 2011), 125);
TimeSeriesCollection dataset = new TimeSeriesCollection();
dataset.addSeries(pop);
dataset.addSeries(pop2);
JFreeChart chart = ChartFactory.createTimeSeriesChart(
"Población del DownTown",
"Fecha",
"Población",
dataset,
true,
true,
false);
//Con las siguientes 3 líneas podemos cambiar el formato de la fecha
XYPlot plot = chart.getXYPlot();
DateAxis axis = (DateAxis) plot.getDomainAxis();
axis.setDateFormatOverride(new SimpleDateFormat("dd-MM-yy"));
//
try {
ChartUtilities.saveChartAsJPEG(new File("C:\\chart.jpg"), chart, 500, 300);
} catch (IOException e) {
System.err.println("Error al crear al chart.");
}
ChartFrame frame = new ChartFrame("Gráfico Time Series", chart);
frame.pack();
frame.setVisible(true);
}
}
Espero te haya ayudado este tutorial, visita mi nuevo proyecto Test de Velocidad en el Teclado http://clubtyping.com/es
Espero te haya ayudado este tutorial, visita mi nuevo proyecto Test de Velocidad en el Teclado http://clubtyping.com/es
martes, 31 de mayo de 2011
Ejemplo 4: Gráfico de Barras y Personalización de un Chart
Archivo PNG generado
package jfree;
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.data.category.DefaultCategoryDataset;
public class BarChart {
public static void main(String[] args) throws IOException {
// TODO code application logic here
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.setValue(5, "jalados", "José");
dataset.setValue(5, "jalados", "Ronny");
dataset.setValue(4, "jalados", "Frank");
dataset.setValue(2, "jalados", "Sumire");
dataset.setValue(0, "jalados", "Maribel");
dataset.setValue(-1, "jalados", "Ian");
dataset.setValue(10, "aprobados", "José");
dataset.setValue(9, "aprobados", "Ronny");
dataset.setValue(12, "aprobados", "Frank");
dataset.setValue(13, "aprobados", "Sumire");
dataset.setValue(15, "aprobados", "Maribel");
dataset.setValue(12, "aprobados", "Ian");
JFreeChart chart = ChartFactory.createBarChart3D("Nivel de ignorancia",
"Estudiantes", "Cursos jalados",
dataset, PlotOrientation.VERTICAL, true, true, false);
BufferedImage img = ImageIO.read(new File("src/img/cars.jpg"));
chart.setBackgroundImage(img);
CategoryPlot plot = chart.getCategoryPlot();
plot.setBackgroundImage(img);
BarRenderer render = (BarRenderer)plot.getRenderer();
render.setSeriesPaint(0, Color.darkGray);
render.setSeriesPaint(1, Color.LIGHT_GRAY);
chart.setBackgroundPaint(Color.RED);
try{
ChartUtilities.saveChartAsPNG(new File("C:\\barras.png"), chart, 500, 400);
}
catch(IOException e){
System.out.println("Error al crear el archivo");
}
ChartFrame frame = new ChartFrame("Gráfico de Barras", chart);
frame.pack();
frame.setVisible(true);
}
}
Espero te haya ayudado este tutorial, visita mi nuevo proyecto Test de Velocidad en el Teclado http://clubtyping.com/es
lunes, 30 de mayo de 2011
Ejemplo 3: Colocando una imagen de fondo a nuestro Chart
Después de haber instalado las librerías en el proyecto(Ejemplo 1).
Creamos un objeto image para almacenar una imagen
BufferedImage img = ImageIO.read(new File("src/img/camaleon.jpg"));
agregamos a nuestro chart usando setBackgroundImage que nos pide como parámetro un objeto image
chart.setBackgroundImage(img);
y el resultado es este...
Ahora no se vé muy bien, pero también podemos colocar una imagen al plot de la misma forma que lo hicimos con el chart
plot.setBackgroundImage(img);
si queremos difuminar las barras del histograma para que se vea el ojo del camaleón
Ahora sólo nos queda ver el vídeo.
package jfree;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYBarRenderer;
import org.jfree.data.statistics.HistogramDataset;
import org.jfree.data.xy.IntervalXYDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class Histograma extends ApplicationFrame {
public Histograma(String title) throws IOException {
super(title);
JPanel chartPanel = crearPanel();
chartPanel.setPreferredSize(new java.awt.Dimension(500, 475));
setContentPane(chartPanel);
}
private static IntervalXYDataset crearDataset() {
HistogramDataset dataset = new HistogramDataset();
//vecto almacena los ingresos quincenales de 45 personas
double vector[] = {63, 89, 36, 49, 56, 64, 59, 35, 78,
43, 53, 70, 57, 62, 43, 68, 62, 26,
64, 72, 52, 51, 62, 60, 71, 61, 55,
59, 60, 67, 57, 67, 61, 67, 51, 81,
53, 64, 76, 44, 73, 56, 62, 63, 60};
//En el ejercicio nos piden construir una distribución de frecuencias de 8 intervalos
//Por eso ponemos 8 en el tercer parámetro del addSeries
dataset.addSeries("Frecuencias de los ingresos", vector, 8);
return dataset;
}
private static JFreeChart crearChart(IntervalXYDataset dataset) throws IOException {
JFreeChart chart = ChartFactory.createHistogram(
"Histograma",
null,
null,
dataset,
PlotOrientation.VERTICAL,
true,
true,
false
);
XYPlot plot = (XYPlot) chart.getPlot();
XYBarRenderer renderer = (XYBarRenderer) plot.getRenderer();
renderer.setDrawBarOutline(false);
BufferedImage img = ImageIO.read(new File("src/img/camaleon.jpg"));
chart.setBackgroundImage(img);
plot.setBackgroundImage(img);
plot.setForegroundAlpha(0.5f);
try{
ChartUtilities.saveChartAsJPEG(new File("C:\\histograma.jpg"), chart, 500, 475);
}
catch(IOException e){
System.out.println("Error al abrir el archivo");
}
return chart;
}
public static JPanel crearPanel() throws IOException {
JFreeChart chart = crearChart(crearDataset());
return new ChartPanel(chart);
}
public static void main(String[] args) throws IOException {
Histograma histo = new Histograma("Histograma");
histo.pack();
RefineryUtilities.centerFrameOnScreen(histo);
histo.setVisible(true);
}
}
Espero te haya ayudado este tutorial, visita mi nuevo proyecto Test de Velocidad en el Teclado http://clubtyping.com/es
domingo, 29 de mayo de 2011
Ejemplo práctico: Histograma de ingresos de 45 personas
En respuesta a br-admin estoy adelantando el tema de los histogramas. Este gráfico estadístico es cubierto en JFreeChart por el paquete org.jfree.data.statistics.
Primero que nada debemos saber que un histograma es
muy diferente a un gráfico de barras, en un histograma la base de cada rectángulo representa al intervalo(en el ejemplo vemos 8 rectángulos ya que el intervalo es 8) y la altura a la frecuencia.
Ejemplo
El resultado con JFreeChart es el mismo
package jfree;
import java.io.File;
import java.io.IOException;
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYBarRenderer;
import org.jfree.data.statistics.HistogramDataset;
import org.jfree.data.xy.IntervalXYDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class Histograma extends ApplicationFrame {
public Histograma(String title) {
super(title);
JPanel chartPanel = crearPanel();
chartPanel.setPreferredSize(new java.awt.Dimension(500, 475));
setContentPane(chartPanel);
}
private static IntervalXYDataset crearDataset() {
HistogramDataset dataset = new HistogramDataset();
//vecto almacena los ingresos quincenales de 45 personas
double vector[] = {63, 89, 36, 49, 56, 64, 59, 35, 78,
43, 53, 70, 57, 62, 43, 68, 62, 26,
64, 72, 52, 51, 62, 60, 71, 61, 55,
59, 60, 67, 57, 67, 61, 67, 51, 81,
53, 64, 76, 44, 73, 56, 62, 63, 60};
//En el ejercicio nos piden construir una distribución de frecuencias de 8 intervalos
//Por eso ponemos 8 en el tercer parámetro del addSeries
dataset.addSeries("Frecuencias de los ingresos", vector, 8);
return dataset;
}
private static JFreeChart crearChart(IntervalXYDataset dataset) {
JFreeChart chart = ChartFactory.createHistogram(
"Histograma",
null,
null,
dataset,
PlotOrientation.VERTICAL,
true,
true,
false
);
XYPlot plot = (XYPlot) chart.getPlot();
XYBarRenderer renderer = (XYBarRenderer) plot.getRenderer();
renderer.setDrawBarOutline(false);
try{
ChartUtilities.saveChartAsJPEG(new File("C:\\histograma.jpg"), chart, 500, 475);
}
catch(IOException e){
System.out.println("Error al abrir el archivo");
}
return chart;
}
public static JPanel crearPanel() {
JFreeChart chart = crearChart(crearDataset());
return new ChartPanel(chart);
}
public static void main(String[] args) throws IOException {
Histograma histo = new Histograma("Histograma");
histo.pack();
RefineryUtilities.centerFrameOnScreen(histo);
histo.setVisible(true);
}
}
Casi al final del video cambio los valores del array vector así
double vector[] = {1, 2, 3, 4, 5, 4, 4, 4, 3, 3};
y el resultado es
ya que el número 4 se repite 4 veces en el vector ésta es la más alta, en cambio el 1, 2 y 5 sólo aparecen una vez en el vector por eso su altura es de 1.
Espero te haya ayudado este tutorial, visita mi nuevo proyecto Test de Velocidad en el Teclado http://clubtyping.com/es
Espero te haya ayudado este tutorial, visita mi nuevo proyecto Test de Velocidad en el Teclado http://clubtyping.com/es
jueves, 26 de mayo de 2011
Ejemplo 2: Gráfico XYline
Para poder crear los archivos jpg o png usa el win xp, en el 7 no funcionó. Si alguien sabe como , avise.
package jfree;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author admin
*/
//imports pastel
import java.io.File;
import java.io.IOException;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
public class Main {
public static void main(String[] args) {
//Gráfico xy
XYSeries series = new XYSeries("XY gráfico");
series.add(1, 1);
series.add(1, 2);
series.add(2, 5);
series.add(4, 3);
series.add(5, 4);
XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(series);
JFreeChart chart = ChartFactory.createXYLineChart("Gráfico XY", "Eje x", "Eje y", dataset, PlotOrientation.VERTICAL, true, true, false);
ChartFrame frame = new ChartFrame("Mi segundo chart", chart);
frame.pack();
frame.setVisible(true);
try{
ChartUtilities.saveChartAsJPEG(new File("C:\\xy.jpg"), chart, 500, 300);
}
catch(IOException e){
System.out.println("Error al abrir el archivo");
}
}
}
Espero te haya ayudado este tutorial, visita mi nuevo proyecto Test de Velocidad en el Teclado http://clubtyping.com/es
domingo, 22 de mayo de 2011
Ejemplo 1: Gráfico de Pastel y creación de un JPEG del gráfico
El archivo JPEG creado
package jfree;
//imports pastel
import java.io.File;
import java.io.IOException;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.ChartUtilities;
import org.jfree.data.general.DefaultPieDataset;
public class Main {
public static void main(String[] args) {
// TODO code application logic here
double cat1 = 2.4;
double cat2 = 4.4;
double cat3 = 6.7;
DefaultPieDataset data = new DefaultPieDataset();
data.setValue("Categoría 1", cat1);
data.setValue("Categoría 2", cat2);
data.setValue("Categoría 3", cat3);
JFreeChart chart = ChartFactory.createPieChart3D("Gráfico", data, true, true, true);
try{
ChartUtilities.saveChartAsJPEG(new File("C:\\pie.jpg"), chart, 500, 300);
}
catch(IOException e){
System.out.println("Error al abrir el archivo");
}
ChartFrame frame = new ChartFrame("Mi primer chart", chart);
frame.pack();
frame.setVisible(true);
}
}
martes, 10 de mayo de 2011
Instalando Librerías de JFreeChart correctamente
Lo primero que debemos de hacer es descargar la librería JFreeChart y el JCommon desde este enlace
Por las dudas aquí está el enlace del JCommon que los descargamos aquí
después sólo nos queda agregarlo al NetBeans(ya salió el 7), lo vemos en el vídeo.
Lo que hacemos es agregar los jar's del jcommon y jfreechart al NetBeans, luego creamos un nuevo proyecto y le agregamos las librerías.
Suscribirse a:
Entradas (Atom)