Interaktiva funktioner
Zooma, hovra och panorera
Interaktiva funktioner är en gratis lektion i Python Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Python Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Python Academy innehåller totalt 4 lektioner.
Varför interaktivitet är viktigt
Den största fördelen med Plotly jämfört med statiska bibliotek är att diagrammen reagerar på användaren. Läsare kan zooma in på ett område, över data och hovra för att läsa exakta värden, utan att diagrammet behöver fyllas med etiketter.
Interaktivitet gör att ett enda diagram kan visa både överblick och detaljer.
Tooltipar vid hovring
Som standard visas x- och y-värdena när Ni hovrar över en punkt. Ni kan berika detta med hover_data=['col1', 'col2'] för att lägga till extra kolumner, eller med hover_name='name' för att ange tooltipens fetstilta rubrik.
Genomtänkta tooltipar gör att diagrammet inte behöver fyllas med information.
Bygga en tooltip-sträng
Konceptuellt är en tooltip bara formaterad text som sätts samman från en datarad. Här är samma idé i vanlig Python.
point = {'name': 'Berlin', 'pop': 3700000, 'gdp': 154}
tooltip = point['name'] + '\nPop: ' + format(point['pop'], ',') + '\nGDP: ' + str(point['gdp'])
print(tooltip)Zooma och panorera
Plotly-figurer innehåller ett mode-fält med verktyg för zoomning, panorering och rektangulärt urval. Användare kan också dra för att zooma in på en rektangel och dubbelklicka för att återställa.
Dessa funktioner är aktiverade som standard, så Ni behöver vanligtvis inte skriva någon kod för dem.
Område och återställning
När Ni zoomar ändras axelns område tillfälligt. Ni kan ange det ursprungliga området med fig.update_xaxes(range=[0, 100]), och användaren kan alltid återställa till det.
Tänk på zoomning som att välja ett delintervall av hela dataområdet.
full_min, full_max = 0, 1000
zoom_min, zoom_max = 200, 400
visible = zoom_max - zoom_min
total = full_max - full_min
print('Zoom shows', round(visible / total * 100), '% of the range')Hover-lägen
fig.update_layout(hovermode='x unified') visar en enda tooltip med alla serier vid den x-position där Ni hovrar. Det är utmärkt för att jämföra flera linjer vid samma tidpunkt.
Andra lägen är bland annat 'closest' och 'x'.
Interaktiva legender
Plotly-legender går att klicka på. Ett enkelt klick döljer en serie och ett dubbelklick visar bara den serien. På så sätt kan användare fokusera på de data de bryr sig om, utan att Ni behöver skapa separata diagram.
Det fungerar automatiskt när diagrammet innehåller flera traces.
Intervallreglage
För tidsserier kan Ni lägga till ett intervallreglage med fig.update_xaxes(rangeslider_visible=True). Ett litet översiktsdiagram visas nedanför, så att användare kan dra för att välja ett datumintervall.
Det passar bra ihop med knappar för intervallval, till exempel 1m, 6m och YTD.
Anpassade hover-mallar
Använd hovertemplate för full kontroll, alltså en sträng med platshållare som %{x} och %{y}. Ni bestämmer exakt vilken text och talformatering som visas vid hovring.
Att utforma mallen liknar att utforma vilken formaterad sträng som helst.
x, y = 2021, 42.567
template = 'Year %{x}: $%{y:.1f}M'
rendered = template.replace('%{x}', str(x)).replace('%{y:.1f}', format(y, '.1f'))
print(rendered)Veta när det räcker
Interaktivitet är kraftfullt, men det är inte kostnadsfritt. För många reglage överväldigar läsare som bara vill ha en snabb överblick. Aktivera de funktioner som besvarar verkliga frågor och förlita Er på de genomtänkta standardinställningarna för resten.
Mode-fältet
Verktygsfältet längst upp till höger i varje figur är mode-fältet. Där finns verktyg för zoomning, panorering och automatisk skalning samt en kameraknapp för att ladda ned en PNG-fil. Ni kan konfigurera eller dölja det med argumentet config när figuren visas.
Genom att dölja oanvända knappar blir diagrammet mindre rörigt för icke-tekniska målgrupper.
Snabbtest
Testa Era kunskaper om interaktiva funktioner.
Sammanfattning
Ni har utforskat interaktiviteten i Plotly:
- Tooltipar vid hovring, som kan utökas med
hover_dataochhovertemplate - Zoomning och panorering via det inbyggda mode-fältet
hovermode='x unified'för kombinerade tooltipar- Klickbara legender och intervallreglage för tidsserier
Använd dessa funktioner medvetet för att besvara verkliga frågor.
Lär dig Python med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 76
- Lektioner
- 320
Vanliga frågor
Är lektionen ”Interaktiva funktioner” gratis?
Ja – hela texten till ”Interaktiva funktioner” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Python Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Python Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Interaktiva funktioner”?
Zooma, hovra och panorera Ni övar på Python Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Python Academy?
Du behöver inga förkunskaper. Utbildningen i Python Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Interaktiva funktioner”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Python Academy-lektionen?
Ja. Varje Python Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Grunderna i Plotly Express
- Interaktiva funktioner
- Dashboardkoncept
- Export och inbäddning