GOOGLE ADS

sábado, 16 de abril de 2022

Cómo trazar formas geométricas coloreadas y poblarlas con cadenas de listas

Tengo 3 listas con algunas cadenas en él:

high = ['string1','string2','string3']
med = ['string4','string5','string6']
low = ['string7','string8','string9']

Quiero hacer un gráfico como el siguiente:

ingrese la descripción de la imagen aquí

Puede ser cualquier forma geométrica pero quiero poner dentro de ellas la cadena de las 3 listas:

red form gets high list's strings
yellow form gets med list's strings
green form gets low list's string

no se por donde empezar si alguien me puede ayudar con esto se lo agradezco


Solución del problema

Así es como lo abordé:

He usado las formas de la Biblioteca Plotly para crear rectángulos y texto como puntos en el eje, puede usar el mismo enfoque en Seaborn y Matplotlib.

Puede crear las etiquetas de texto en el gráfico de la siguiente manera:

fig.add_trace(go.Scatter( x=[0, 0, 0], 
y=[3, 0, -3],
text=["red form gets high list's strings",
"yellow form gets med list's strings",
"green form gets low list's string"],
mode="text",
textfont=dict(color="black", size=18,family="Arail",)))

Las formas de recatángulo para las coordenadas de texto correspondientes se pueden crear de la siguiente manera:

fig.add_shape(type="rect",
line_color="gray", fillcolor="red",
x0= <Fixed x0 coordinate point>,
y0= <desired y0 coordinate point>, x1= <Fixed x2 coordinate point>, y1=<Desired y1 coordinate point>)

Además, actualicé la figura para ocultar el eje y las marcas.

Código completo a continuación:

import plotly.graph_objects as go
fig = go.Figure()
# Creating scatter trace of text labels
fig.add_trace(go.Scatter( x=[0, 0, 0],
y=[3, 0, -3],
text=["red form gets high list's strings",
"yellow form gets med list's strings",
"green form gets low list's string"],
mode="text",
textfont=dict(color="black", size=18,family="Arail",)))
# Update axes properties
fig.update_xaxes(showticklabels=False,
showgrid=False, zeroline=False,)
fig.update_yaxes(showticklabels=False,
showgrid=False, zeroline=False,)
#x co-ordinate points
rect_x0, rect_x1 = -2, 2
# Add rectangles
fig.add_shape(type="rect",
line_color="gray", fillcolor="red",
x0= rect_x0, y0=2, x1= rect_x1, y1=4)
fig.add_shape(type="rect",
line_color="gray", fillcolor="green",
x0= rect_x0, y0=-1, x1= rect_x1, y1=1)
fig.add_shape(type="rect",
line_color="gray", fillcolor="yellow",
x0= rect_x0, y0=-4, x1= rect_x1, y1=-2)
fig.update_shapes(opacity=0.3, xref="x", yref="y")
fig.update_layout(margin=dict(l=20, r=20, b=100),
height=600, width=800,
plot_bgcolor="white")
fig.show()

Resultado

Imagen de resultado

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...