我有一个密度热图,使用的是Ploly库,特别是Ploly Express for Python.在它中,x轴对应于数据框中的‘父亲的教育程度’列,y轴对应于‘母亲的教育程度’列,z轴对应于‘百分比’列.我想要的是在悬停信息中额外包括‘频率’列,这样当悬停在单元格上时,该数据也会显示出来.我试过使用‘Text’参数,但它不适用于密度热图.因此,我目前正在试验‘meta’参数,但它显示的是‘%{data[n[.meta[i]}’,而不是频率.
fig_heatmap = px.density_heatmap(total,
x='Estudios de la madre',
y='Estudios del padre',
z='Porcentaje',
category_orders={'Estudios de la madre': orden_estudios,
'Estudios del padre': orden_estudios},
text_auto=True,
color_continuous_scale='blues',
range_color=[0, 15])
fig_heatmap.update_coloraxes(colorbar_title='Porcentaje')
fig_heatmap.update_traces(meta=total.Frecuencia,
hovertemplate='Estudios de la madre: %{x}<br>' +
'Estudios del padre: %{y}<br>' +
'Porcentaje: %{z}<br>' +
'Frecuencia: %{data[n[.meta[i]}')
st.plotly_chart(fig_heatmap, use_container_width=True)
以下是一些样本数据:
data = [
("Primaria o secundaria", "Primaria o secundaria", 320, 41.03),
("Primaria o secundaria", "Bachillerato", 120, 15.42),
("Bachillerato", "Bachillerato", 150, 19.27),
("Bachillerato", "Primaria o secundaria", 80, 10.27),
("Primaria o secundaria", "Carrera técnica", 50, 6.42),
("Primaria o secundaria", "No sé", 40, 5.14),
("Carrera técnica", "Carrera técnica", 30, 3.85),
("Carrera técnica", "Primaria o secundaria", 20, 2.57),
("No sé", "No sé", 20, 2.57),
("Bachillerato", "Carrera técnica", 10, 1.28),
("Licenciatura", "Primaria o secundaria", 10, 1.28),
("Carrera técnica", "Bachillerato", 5, 0.64),
("Primaria o secundaria", "Licenciatura", 5, 0.64),
("Bachillerato", "Licenciatura", 5, 0.64),
("Bachillerato", "No sé", 5, 0.64),
("Licenciatura", "Bachillerato", 5, 0.64),
("Licenciatura", "Licenciatura", 5, 0.64),
("No sé", "Primaria o secundaria", 5, 0.64),
("Licenciatura", "No sé", 5, 0.64),
("Carrera técnica", "Licenciatura", 5, 0.64),
("Licenciatura", "Carrera técnica", 5, 0.64),
("Carrera técnica", "No sé", 5, 0.64),
("No sé", "Bachillerato", 5, 0.64),
("No sé", "Carrera técnica", 5, 0.64),
("Posgrado", "Primaria o secundaria", 5, 0.64),
("Carrera técnica", "Posgrado", 5, 0.64),
("Posgrado", "Carrera técnica", 5, 0.64),
("Posgrado", "Bachillerato", 5, 0.64),
("Posgrado", "Posgrado", 5, 0.64),
("No sé", "Licenciatura", 5, 0.64),
("Bachillerato", "Posgrado", 5, 0.64),
("Posgrado", "Licenciatura", 5, 0.64),
("Licenciatura", "Posgrado", 5, 0.64),
("Posgrado", "No sé", 5, 0.64),
("Primaria o secundaria", "Posgrado", 5, 0.64)
]