Python - Error creación lollipop

 
Vista:
sin imagen de perfil

Error creación lollipop

Publicado por anonymous (1 intervención) el 18/01/2021 10:49:48
Buenas, basandome en este código https://colab.research.google.com/github/moyocoyani/geopandasPseudo3D/blob/master/Crear_mapa_proyeccion_pseudo_3d_en_geopandas.ipynb#scrollTo=RSNb60vpRWIV
estoy intentando crear un indice ia de covid por ccaa. Lo tengo todo, pero no me crea los gráficos en lollipop me los hace en circulos proporcionales. paso el código por si alguien me puede iluminar con donde fallo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import geopandas
import matplotlib.pyplot as plt
import pandas as pd
 
 
esp=geopandas.read_file("CCAA.shp")
 
#Configurando el canvas en matplotlib y
#creando un objeto "axes"
fig,ax = plt.subplots(1,1,figsize=(10,8))
esp.plot(ax=ax)
plt.show()
 
#Asignando centroides del plano (calculados a mano, habrá que buscar una función que lo obtenga automáticamente)
#x0=1106500=(1.273e6-(-9.4e6))/2
#y0=1025500=(4.986e6-2.935e6)/2
x0=(1.273e6-(-9.4e6))/2
y0=(4.986e6-2.935e6)/2
 
#Configurando el canvas en matplotlib y
#creando un objeto "axes"
fig,ax = plt.subplots(1,1,figsize=(10,8))
(esp["geometry"]
     .skew(xs=-40,ys=0,use_radians=False,origin=(x0,y0))
     .rotate(angle=33,use_radians=False,origin=(x0,y0))
     .plot(ax=ax))
plt.show()
 
 
#Lectura del archivo csv:
df = pd.read_csv('ia.csv')
print(df)
 
incidencia = df.loc[:,'Incidencia Acumulada 14 días']   #Extraemos la columna de incidencia
print(incidencia)   #incidencia es lo mismo que df['Incidencia Acumulada 14 días'].values
 
#Normalizamos los valores de incidencia a un valor máximo de 15 para poder visualizar bien
incidencia=incidencia/max(incidencia)
incidencia=incidencia*15
 
 
 
#Transformación para crear un mapa pseudo 3D
esp_tr = (esp["geometry"]
           .skew(xs=-40,ys=0,use_radians=False,origin=(x0,y0))
           .rotate(angle=33,use_radians=False,origin=(x0,y0)))
 
 
# Obtención de los centroides de las CCAA
x=(esp_tr
   .centroid
   .apply(lambda p:p.x)
   .values)
y=(esp_tr
   .centroid
   .apply(lambda p:p.y)
   .values)
 
fig,ax = plt.subplots(1,1,figsize=(14,14))
 
#Graficando el mapa
esp_tr.plot(ax=ax,color="#ffffff",
            edgecolor="#bcbcbc",
            zorder=1)
 
#Mostrando la posición de las coordenadas
ax.scatter(x=x,
           y=y,
           color="#ff944d")
plt.show()
 
fig,ax = plt.subplots(1,1,figsize=(14,14))
 
#Graficando el mapa
esp_tr.plot(ax=ax,
            color="#ffffff",
            edgecolor="#bcbcbc",
            zorder=1)
 
 
#Mostrando la posición de las coordenadas
ax.scatter(x=x,
           y=y+incidencia,
           color="#ff944d",
           zorder=2,
           s=10*incidencia)
for i in range(len(incidencia)):
    ax.plot([x,x],
           [y,y+incidencia],
           color="#8c8c8c",
           zorder=1)
 
plt.show()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder