Controles en gráficos

Agregar control de etiqueta al gráfico

Las etiquetas proporcionan un medio para dar información a los usuarios sobre el contenido de la hoja de cálculo. Aspose.Cells le permite agregar y manipular etiquetas incluso en gráficos.

La clase ShapeCollection proporciona un método llamado addLabelInChart, utilizado para agregar un control de etiqueta a un gráfico. A continuación se muestra una lista de los parámetros utilizados para el método:

  • arriba – el desplazamiento vertical de la etiqueta desde la esquina superior izquierda en unidades de 1/4000 del área del gráfico.
  • izquierda – el desplazamiento horizontal de la etiqueta desde la esquina superior izquierda en unidades de 1/4000 del área del gráfico.
  • altura – la altura de la etiqueta, en unidades de 1/4000 del área del gráfico.
  • width – el ancho de la etiqueta, en unidades de 1/4000 del área del gráfico.

El método devuelve un objeto de la clase Label, donde la clase Label representa una etiqueta en el gráfico. Tiene algunos miembros importantes, como se detalla a continuación:

  • La propiedad Text especifica una cadena de título de la etiqueta.
  • La propiedad Fill especifica los atributos del color de relleno.

El siguiente ejemplo muestra cómo agregar una etiqueta al gráfico. El ejemplo utiliza un archivo de diseño que tiene un gráfico en él. Utilizamos este archivo para insertar una etiqueta en el gráfico.

A continuación se muestra una captura de pantalla del archivo de diseño.

El gráfico de diseño

todo:image_alt_text

A continuación se muestra el código original para agregar una etiqueta al gráfico. El siguiente resultado se genera al ejecutar el código.

Se añade una etiqueta en el gráfico

todo:image_alt_text

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(AddingLabelControl.class) + "charts/";
String filePath = dataDir + "chart.xls";
Workbook workbook = new Workbook(filePath);
Worksheet worksheet = workbook.getWorksheets().get(0);
// Load the chart from source worksheet
Chart chart = worksheet.getCharts().get(0);
Label label = chart.getShapes().addLabelInChart(100, 100, 350, 900);
label.setText("Write Label here");
label.setPlacement(PlacementType.FREE_FLOATING);
label.getFill().getSolidFill().setColor(Color.getChocolate());
// Output the file
workbook.save(dataDir + "ALControl_out.xls");
// Print message
System.out.println("Label added to chart successfully.");

Añadiendo un Control de Cuadro de Texto al Gráfico

Una forma de resaltar información importante en un informe es mediante el uso de un cuadro de texto. Por ejemplo, introducir texto para resaltar el nombre de la empresa o indicar la región geográfica con mayores ventas. La clase ShapeCollection proporciona un método llamado addTextBoxInChart, que se utiliza para añadir un control de cuadro de texto a un gráfico. A continuación se muestra la lista de parámetros utilizados para el método:

  • arriba - el desplazamiento vertical del cuadro de texto desde la esquina superior izquierda en unidades de 1/4000 del área del gráfico.
  • left – el desplazamiento vertical del cuadro de texto desde la esquina superior izquierda en unidades de 1/4000 del área del gráfico.
  • altura - la altura del cuadro de texto, en unidades de 1/4000 del área del gráfico.
  • ancho - el ancho del cuadro de texto, en unidades de 1/4000 del área del gráfico.

El método devuelve un objeto de la clase TextBox, donde la clase TextBox representa un cuadro de texto en el gráfico.

El siguiente ejemplo muestra cómo agregar un cuadro de texto a un gráfico. El ejemplo utiliza el archivo de diseño anterior que tiene un gráfico en él. Utilizamos este archivo para insertar un cuadro de texto en el gráfico para mostrar el título del gráfico.

A continuación se muestra el código original para agregar un cuadro de texto al gráfico. El siguiente resultado se genera al ejecutar el código.

Se añade un cuadro de texto en el gráfico

todo:image_alt_text

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(AddingTextBoxControl.class) + "charts/";
String filePath = dataDir + "chart.xls";
// Create a new Workbook.
// Open the existing file.
Workbook workbook = new Workbook(filePath);
Worksheet worksheet = workbook.getWorksheets().get(0);
// Load the chart from source worksheet
Chart chart = worksheet.getCharts().get(0);
// Add a new textbox to the chart.
TextBox txt = chart.getShapes().addTextBoxInChart(100, 100, 850, 2500);
txt.setText("Aspose");
txt.getFont().setItalic(true);
txt.getFont().setSize(20);
txt.getFont().setBold(true);
// Get the filformat of the textbox.
FillFormat fillformat = txt.getFill();
fillformat.setFillType(FillType.SOLID);
fillformat.getSolidFill().setColor(Color.getSilver());
// Get the lineformat type of the textbox.
LineFormat lineformat = txt.getLine();
lineformat.setWeight(2);
lineformat.setDashStyle(MsoLineDashStyle.SOLID);
// Output the file
workbook.save(dataDir + "ATBoxControl_out.xls");
// Print message
System.out.println("TextBox added to chart successfully.");

Añadiendo una Imagen al Gráfico

Aspose.Cells te permite insertar imágenes en un gráfico. Por ejemplo, agregar una imagen para resaltar o dar más significado a un gráfico o sus contenidos, o insertar un archivo de imagen de marca.

La clase ShapeCollection proporciona un método llamado addPictureInChart, que se utiliza para añadir un objeto de imagen al gráfico. A continuación se muestra la lista de parámetros utilizados para el método:

  • arriba - el desplazamiento vertical de la imagen desde la esquina superior izquierda en unidades de 1/4000 del área del gráfico.
  • izquierda - el desplazamiento vertical de la imagen desde la esquina superior izquierda en unidades de 1/4000 del área del gráfico.
  • flujo - un objeto de flujo que contiene los datos de la imagen.
  • escalaAncho - la escala del ancho de la imagen, un valor porcentual.
  • escalaAlto - la escala de la altura de la imagen, un valor porcentual.

El método devuelve un objeto de la clase Picture donde la clase Picture representa un objeto imagen en el gráfico.

El siguiente ejemplo muestra cómo agregar una imagen al gráfico. El ejemplo utiliza el archivo de diseño anterior que tiene un gráfico en él. Usamos este archivo para insertar una imagen en el gráfico.

A continuación se muestra el código original para agregar una imagen al gráfico. La siguiente salida se genera al ejecutar el código

Se inserta una imagen en el gráfico

todo:image_alt_text

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(AddingPictureToChart.class) + "charts/";
String filePath = dataDir + "chart.xls";
FileInputStream stream = new FileInputStream(dataDir + "logo.jpg");
Workbook workbook = new Workbook(filePath);
Worksheet worksheet = workbook.getWorksheets().get(0);
// Load the chart from source worksheet
Chart chart = worksheet.getCharts().get(0);
Picture pic = chart.getShapes().addPictureInChart(50, 50, stream, 40, 40);
LineFormat lineformat = pic.getLine();
lineformat.setFillType(FillType.SOLID);
lineformat.getSolidFill().setColor(Color.getBlue());
lineformat.setDashStyle(MsoLineDashStyle.DASH_DOT_DOT);
// Output the file
workbook.save(dataDir + "APToChart_out.xls");
// Print message
System.out.println("Picture added to chart successfully.");

Agregar casilla de verificación en el gráfico

Aspose.Cells le permite insertar casillas de verificación en una hoja de gráfico mediante la enumeración MsoDrawingType. El siguiente ejemplo demuestra cómo agregar una casilla de verificación a una hoja de gráfico.

La siguiente imagen muestra la hoja de gráfico con la casilla de verificación en el archivo de salida.

todo:image_alt_text

El archivo de salida generado por el siguiente fragmento de código se adjunta para su referencia.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// directories
String outputDir = Utils.Get_OutputDirectory();
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Adding a chart to the worksheet
int index = workbook.getWorksheets().add(SheetType.CHART);
Worksheet sheet = workbook.getWorksheets().get(index);
sheet.getCharts().addFloatingChart(ChartType.COLUMN, 0, 0, 1024, 960);
sheet.getCharts().get(0).getNSeries().add("{1,2,3}", false);
// Add checkbox to the chart.
sheet.getCharts().get(0).getShapes().addShapeInChart(MsoDrawingType.CHECK_BOX, PlacementType.MOVE, 400, 400, 1000, 600);
sheet.getCharts().get(0).getShapes().get(0).setText("CheckBox 1");
// Convert chart to image with additional settings
workbook.save(outputDir + "InsertCheckboxInChartSheet_out.xlsx");