我正在从 Dataframe 执行数据分析,我需要制作一个 climogram,这是一个图表,其中一年中的月份位于水平轴上,而在垂直轴上,它们在左轴上表示平均每月温度通过线连接的点表示,而在右轴上,通过条形表示平均月降雨量。如何在 y 轴上生成温度和降水的两个“标签”?
下面是一个气候图的例子和我正在使用的 Dataframe 的数据:
precipitación_y_temperatura_promedio_Medellín_5=pd.merge(precipitación_y_temperatura_promedio_Medellín_3.reset_index(), precipitación_y_temperatura_promedio_Medellín_4.reset_index())
precipitación_y_temperatura_promedio_Medellín_5.set_index('Mes',inplace=True)
print(precipitación_y_temperatura_promedio_Medellín_5)
Precipitación Promedio (mm) Temperatura Promedio (°C)
Mes
Enero 63.2 22.4
Febrero 81.4 22.7
Marzo 129.1 22.7
Abril 170.7 22.4
Mayo 213.5 22.6
Junio 149.4 22.9
Julio 133.1 23.1
Agosto 139.7 23.1
Septiembre 181.8 22.4
Octubre 226.7 21.8
Noviembre 158.9 21.8
Diciembre 104.8 21.9
重现示例的数据:
您不能使用相同的轴,因为根据定义,它们将共享标记、比例和轴标签Y,这是我们不想要的。关键是使用matplotlib.axes.Axes.twinx生成另一个实例,
Axes
但共享X旧的轴。然后每个用于其中一个图表。由于 生成的轴
twinx
与前一个轴重叠,因此必须将其用于温度,将两个轴的标签和标记分别更改为相对的一侧。通过这种方式,我们避免了修改总是看起来很糟糕的透明度。