En este artículo, aprenderemos cómo cambiar el tamaño de las etiquetas en la leyenda de bokeh. La leyenda juega un papel muy importante en el bokeh. Con la ayuda de la leyenda, podemos señalar varios tipos de glifos en una trama que nos proporciona el bokeh, y podemos personalizarlos según nuestra elección. Junto con eso, también podemos cambiar varias propiedades del texto de los glifos que se muestran en un cuadro en un gráfico. Aparte de eso, hay varios atributos que podemos usar para personalizar una leyenda.
Algunos de los atributos que se pueden usar para personalizar un glifo: legend.label_text_font, legend.label_text_font_size, legend.location, legend.title, legend.orientation y legend.clicking_policy.
Ahora, antes de continuar, debemos asegurarnos de tener instalado el bokeh en nuestro dispositivo local. De lo contrario, abra un símbolo del sistema y escriba el siguiente comando:
pip install bokeh
Ahora estamos listos para ir. Es necesario instalar bokeh, de lo contrario las funcionalidades no funcionarán. Entonces, pasemos a la implementación del concepto anterior.
Ejemplo 1:
En el siguiente ejemplo, cambiaremos el tamaño de fuente de las etiquetas usando la leyenda bokeh y, junto con eso, también aprenderemos algunas otras características.
Python3
# importing numpy package fro python library import numpy as np # import figure and show for creating # and showing the plot from bokeh.plotting from bokeh.plotting import figure, show # Initialising a variable x with # 100 values from 0 to 20 x = np.linspace(0, 20, 100) # initialising y with double values of # x y = x*2 # Creating an empty figure with plot height and # width as 600 p1 = figure(plot_width=600, plot_height=600) # Creating the plot with points # in the shape of the circle p1.circle(x, y, legend_label="Line 1") # Creating the plot with points # in the shape of the square p1.square(x, 2*y, legend_label="Line 2", color="red", line_width=4) # using legend we are labelling the title of the # Glyph box p1.legend.title = 'Example Title' # Labelling the X-Axis p1.xaxis.axis_label = "X Axis" # Labelling the Y-Axis p1.yaxis.axis_label = "Y-Axis" # Setting up the location of the # box that differentiates the two # lines p1.legend.location = "top_left" # Increasing the title of the box # to 30pt p1.legend.title_text_font_size = '30pt' # Increasing the labels of the box # to 30pt p1.legend.label_text_font_size = "30pt" # Showing the above plot show(p1)
Producción:
Explicación:
En el código anterior, después de inicializar todos los paquetes necesarios de las bibliotecas y módulos, estamos creando dos puntos x e y que son una lista de valores arbitrarios. Ahora trazaremos esos valores en nuestro gráfico. Entonces, para eso, estamos creando una figura/gráfico vacío cuyo ancho y alto del gráfico se dan como 600. Después de eso, estamos trazando los dos gráficos donde los puntos en el primer gráfico tienen la forma de un círculo y los puntos en el segundo gráfico tienen la forma de un cuadrado. Además de los diferentes colores de los dos gráficos, para diferenciarlos, estamos creando un cuadro donde proporcionamos las etiquetas para ambos glifos usando legend_label y también le damos un título a ese cuadro. Ahora viene la implementación principal, es decir, cambiar el tamaño de las etiquetas usando la leyenda bokeh . Entonces, al usarlegend.label_text_font_size estamos personalizando el tamaño de las etiquetas y glifos en el cuadro, y dado que le hemos dado un título al cuadro, legend.label_text_font_size nos ayuda a cambiar el tamaño del título. Además de cambiar el tamaño, también estamos cambiando su orientación, es decir, en la esquina superior izquierda usando legend.location .
Ejemplo 2:
Ahora, en el segundo ejemplo, exploremos algunos atributos más sobre cómo cambiar los tamaños usando la leyenda. En el ejemplo a continuación, en lugar de usar label_text_font_size, también podemos usar glyph_height, glyph_width, label_height, label_width que se encargan de cambiar las etiquetas y los tamaños de los glifos por separado en el cuadro de etiquetas diferenciando todas las líneas. Pasemos ahora a la implementación principal.
Python3
# importing numpy as np import numpy as np # importing figure and show from # bokeh.plotting from bokeh.plotting import figure, show # creating a list of numbers from 0-10 x = np.arange(11) # Creating square of the numbers and # storing it in y y = x**2 # Creating an array of random values in # z z = [1, 6, 1, 4, 8, 6, 2, 6, 4, 9, 10] # Creating a plot with plot width and height # as 600 p = figure(plot_height=600, plot_width=600) # Plotting first line in the form of circle p.circle(x, y, legend_label="Line 1") # Creating first line in the form of line p.line(x, y, legend_label="Line 1") # Creating fifth line in the form of line p.diamond(z, x*2, legend_label="Line 5") # Creating second line in the form of line p.hex(z, x, legend_label="Line 2", color="red") # Creating third line in the form of line p.square(x, y*2, legend_label="Line 3") # Creating forth line in the form of line p.inverted_triangle(x, y*3, legend_label="Line 4") # Increasing the glyph height p.legend.glyph_height = 50 # increasing the glyph width p.legend.glyph_width = 90 # Increasing the glyph's label height p.legend.label_height = 50 # Increasing the glyph's label height p.legend.label_width = 50 # showing the above plot show(p)
Producción:
Explicación:
En el código anterior, hemos importado el paquete numpy junto con la figura y el espectáculo para la creación y visualización de gráficos. Después de importar los paquetes, estamos creando tres listas diferentes de números que luego se comparan entre sí en formato gráfico. Son de diferentes formas. Usando leyenda en bokeh, los estamos etiquetando de manera diferente, y usando los siguientes atributos mencionados anteriormente, estamos cambiando el tamaño de los glifos y las etiquetas por separado, lo que también afecta el tamaño del cuadro.