Ich habe eine Heatmap, die ich mit diesem Code erstellt:Python Plotly - Ändern der Farbe der Schrift auf Annotation in Heatmap
dfreverse = df_hml.values.tolist()
dfreverse.reverse()
colorscale = [[0, '#FFFFFF'],[0.4, '#F8F8FF'], [1, '#F1C40F']]
x = [threeYr,twoYr,oneYr,Yr]
y = ['March', 'February', 'January', 'December', 'November', 'October', 'September', 'August', 'July', 'June', 'May', 'April']
z = dfreverse
z_text = np.around(z, decimals=2) # Only show rounded value (full value on hover)
fig = ff.create_annotated_heatmap(z, x=x, y=y,annotation_text=z_text, colorscale=colorscale, hoverinfo='none')
# Altering x axis
fig['layout']['xaxis']['tickfont']['family'] = 'Gill Sans MT'
fig['layout']['xaxis']['tickfont']['size'] = 12
fig['layout']['xaxis']['tickfont']['color'] = "black"
fig['layout']['xaxis']['tickangle'] = 0
# Altering x axis
fig['layout']['yaxis']['tickfont']['family'] = "Gill Sans MT"
fig['layout']['yaxis']['tickfont']['size'] = 12
fig['layout']['yaxis']['tickfont']['color'] = "black"
fig['layout']['yaxis']['tickangle'] = 25
# Altering main font
fig['layout']['font'] ["family"] = "Gill Sans MT"
fig['layout']['font']['size'] = 9
plotly.offline.iplot(fig,config={"displayModeBar": False},show_link=False,filename='pandas-heatmap')
Wie Sie sehen können, bis August dieses Jahres tut März irgendwelche Daten und zeigt so als 0 an. Ich kann das nicht entfernen, sonst funktioniert die Heatmap nicht ... also dachte ich, ich würde die Schriftart aller Nullen in Weiß ändern, um sie zu verstecken. Ich bin mir jedoch nicht sicher, wie ich das machen soll.
fand ich diesen Code, den die Schriftgröße der Anmerkung ändert, aber nicht sicher, wie es zu ändern, um die Farbe zu ändern, wenn der Wert == 0 (als ‚i‘ nicht der Wert ist)
for i in range(len(fig.layout.annotations)):
fig.layout.annotations[i].font.size = 9
Hey Naren wieder:) ... Ich werde diese morgen früh testen, wie ich bei der Arbeit bin nicht, aber Ihre Lösung macht eine viel mehr Sinn als das, was ich versuchte zu tun! – ScoutEU
@ScoutEU kein Problem, nehmen Sie sich Zeit –
Getestet. Funktioniert perfekt. Vielen Dank :) – ScoutEU