Zdieľať cez


Vizualizácia poznámkového blokov v službe Microsoft Fabric

Microsoft Fabric je integrovaná analytická služba, ktorá urýchľuje čas pre prehľady v skladoch údajov a systémoch s veľkým objemom údajov. Vizualizácia údajov v poznámkových blokoch je kľúčovou funkciou, ktorá umožňuje získať prehľad o údajoch a pomáha používateľom jednoducho identifikovať vzory, trendy a odchýlky.

Pri práci so službou Apache Spark v službe Fabric máte vstavané možnosti vizualizácie údajov vrátane funkcií poznámkového grafu služby Fabric a prístupu k populárnym knižniciam typu open-source.

Poznámkové bloky služby Fabric tiež umožňujú konvertovať tabuľkové výsledky na prispôsobené grafy bez písania kódu, čo umožňuje intuitívnejšie a bezproblémovejšie skúmanie údajov.

Príkaz na vstavanú vizualizáciu – funkcia display()

Vstavaná funkcia vizualizácie služby Fabric umožňuje transformovať údajové rámce Apache Spark, Pandas DataFrames a výsledky dotazu SQL na bohaté interaktívne vizualizácie údajov.

Pomocou funkcie zobrazenia môžete vykresliť PySpark a Scala Spark DataFrames alebo Odolnosť distribuovaných množín údajov (RDD) ako dynamické tabuľky alebo grafy.

Môžete určiť počet riadkov údajového rámca, ktorý sa vykreslí. Predvolená hodnota je 1 000. Poznámkový blok zobrazenie výstupnou miniaplikácia podporuje zobrazenie a profilovanie 10000 riadkami údajového rámca.

Snímka obrazovky s príkladom určenia rozsahu.

Pomocou funkcie filtra na globálnom paneli s nástrojmi môžete použiť prispôsobené pravidlá na svoje údaje. Podmienka filtra sa použije na zadaný stĺpec a výsledky sa prejavia v zobrazeniach tabuľky aj grafu.

Snímka obrazovky s príkladom prispôsobenia stĺpcov.

Výstupom príkazu SQL sa prijíma rovnaká výstupná miniaplikácia s predvolenou display().

Zobrazenie tabuľky s bohatým údajovým rámcom

Podpora bezplatného výberu v zobrazení tabuľky

V predvolenom nastavení sa zobrazenie tabuľky vykreslí pri použití príkazu display() v poznámkovom bloku služby Fabric. Bohatá ukážka údajového rámca ponúka intuitívnu funkciu výberu zdarma, ktorá je navrhnutá na vylepšenie možností analýzy údajov tým, že umožňuje flexibilné a interaktívne možnosti výberu. Táto funkcia umožňuje používateľom jednoducho efektívne prechádzať a skúmať údajové rámce.

  • výberu stĺpca

    • položky Jeden stĺpec: Kliknutím na hlavičku stĺpca vyberte celý stĺpec.
    • viacero stĺpcov: Po výbere jedného stĺpca stlačte a podržte kláves Shift a kliknutím na ďalšiu hlavičku stĺpca vyberte viacero stĺpcov.
  • výberu riadka

    • Jeden riadok: kliknutím na hlavičku riadka vyberte celý riadok.
    • viacero riadkov: Po výbere jedného riadka stlačte a podržte kláves Shift a kliknutím na ďalšiu hlavičku riadka vyberte viacero riadkov.
  • ukážka obsahu bunky: zobrazte ukážku obsahu jednotlivých buniek, aby ste mohli rýchlo a podrobne preskúmať údaje bez toho, aby bolo potrebné zapísať ďalší kód.

  • Súhrn stĺpcov: Ak chcete rýchlo porozumieť charakteristikám údajov, získajte súhrn jednotlivých stĺpcov vrátane distribúcie údajov a kľúčových štatistík.

  • Výber bezplatnej oblasti: Vyberte všetky spojité segmenty tabuľky, aby ste získali prehľad o celkovom súčte vybratých buniek a číselných hodnôt vo vybratej oblasti.

  • Kopírovať vybratý obsah: Vo všetkých prípadoch výberu môžete rýchlo skopírovať vybratý obsah pomocou skratky Ctrl + C. Vybraté údaje sa skopírujú vo formáte CSV, vďaka čomu sa dajú jednoducho spracovať v iných aplikáciách.

    Animovaný GIF s podporou voľného výberu.

Podpora profilovania údajov prostredníctvom tably Kontrola

Animovaný GIF s bohatou ukážkou údajového rámca.

  1. Údajový rámec môžete profilovať kliknutím na tlačidlo Skontrolovať . Poskytuje súhrnnú distribúciu údajov a zobrazuje štatistiky jednotlivých stĺpcov.

  2. Každá karta na bočnej table Kontrola sa primapuje k stĺpcu údajového rámca. Ďalšie podrobnosti si môžete zobraziť kliknutím na kartu alebo výberom stĺpca v tabuľke.

  3. Podrobnosti buniek môžete zobraziť kliknutím na bunku tabuľky. Táto funkcia je užitočná v prípade, keď údajový rámec obsahuje dlhý typ obsahu reťazca.

Vylepšené zobrazenie grafu s bohatým údajovým rámcom

Vylepšené zobrazenie grafu v príkaze display() ponúka intuitívnejší a dynamickejší spôsob vizualizácie údajov.

Vylepšenia kľúčov:

  1. Podpora viacerých grafov: Pridajte až päť grafov v rámci jednej výstupnej miniaplikácie zobrazenia () výberom položky Nový graf, čím sa zjednodušia porovnania medzi rôznymi stĺpcami.

  2. Odporúčania inteligentného grafu: Získajte zoznam navrhovaných grafov na základe prvku DataFrame. Vyberte si, či chcete upraviť odporúčanú vizualizáciu alebo vytvoriť vlastný graf úplne od začiatku.

Animovaný GIF navrhovaných grafov.

  1. Flexibilné prispôsobenie: Prispôsobenie vizualizácií pomocou nastaviteľných nastavení, ktoré sa adaptujú na základe vybratého typu grafu.

    Kategória Základné nastavenia Popis
    Typ grafu Funkcia zobrazenia podporuje širokú škálu typov grafov vrátane pruhových grafov, bodových grafov, čiarových grafov, kontingenčných tabuliek a ďalších.
    Názov Názov Názov grafu.
    Názov Podnadpis Podnadpis grafu s popismi.
    Údaje Osi x Zadajte kľúč grafu.
    Údaje Os y Zadajte hodnoty grafu.
    Legenda Zobraziť legendu Povoľte alebo zakážte legendu.
    Legenda Pozícia Prispôsobenie pozície legendy.
    Iné Skupina radov Pomocou tejto konfigurácie môžete určiť skupiny pre agregáciu.
    Iné Agregácia Túto metódu použite na agregáciu údajov vo vizualizácii.
    Iné Skladaný Nakonfigurujte štýl zobrazenia výsledku.
    Iné Chýbajúce hodnoty a hodnoty NULL Umožňuje nakonfigurovať spôsob zobrazovania chýbajúcich hodnôt alebo hodnôt grafu NULL.

    Poznámka

    Okrem toho môžete zadať počet zobrazených riadkov s predvoleným nastavením 1 000. Miniaplikácia výstupu notebooku podporuje zobrazenie a profilovanie až 10 000 riadkov prvku DataFrame. Vyberte položku Agregácia cez všetky výsledky a potom výberom položky Použiť použite generovanie grafu z celého údajového rámca. Úloha Spark sa spustí pri zmene nastavenia grafu. Dokončenie výpočtu a vykreslenie grafu môže trvať niekoľko minút.

    Kategória Rozšírené nastavenia Popis
    Farba Motív Definujte množinu farieb motívu v grafe.
    Osi x Označenie Zadajte označenie na os x.
    Osi x Mierka Zadajte funkciu mierky osi x.
    Osi x Rozsah Zadajte os rozsahu hodnôt osi x.
    Os y Označenie Zadajte označenie na os y.
    Os y Mierka Zadajte funkciu mierky osi y.
    Os y Rozsah Zadajte os rozsahu hodnôt Y.
    Zobrazenie Zobrazenie označení Zobraziť alebo skryť označenia výsledkov v grafe.

    Zmeny konfigurácií sa prejavia okamžite a všetky konfigurácie sa automaticky uložia do obsahu poznámkového bloku.

    Snímka obrazovky s príkladom konfigurácie grafov.

  2. Grafy môžete jednoducho premenovať, duplikovať, odstrániť alebo presunúť v ponuke karty grafu. Môžete tiež presúvať karty myšou a zmeniť ich poradie. Prvá karta sa zobrazí ako predvolená, keď je poznámkový blok otvorený.

    Snímka obrazovky príkladu operačných grafov.

  3. V novom prostredí grafu je k dispozícii interaktívny panel s nástrojmi, keď používateľ ukáže myšou na graf. Operácie podpory, ako napríklad priblíženie, oddialenie, výber priblíženia, obnovenie, obnovenie, posúvanie, úprava komentárov atď.

    Snímka obrazovky príkladu panela s nástrojmi grafu.

    Tu je príklad komentára grafu.

    Snímka obrazovky s príkladom komentára grafu.

zobrazenie súhrnu display()

Pomocou display(df, summary = true) môžete skontrolovať súhrn štatistík danej architektúry údajov Apache Spark. Súhrn obsahuje názov stĺpca, typ stĺpca, jedinečné hodnoty a chýbajúce hodnoty pre každý stĺpec. Môžete tiež vybrať konkrétny stĺpec a zobraziť tak jeho minimálnu hodnotu, maximálnu hodnotu, strednú hodnotu a smerodajnú odchýlku.

Animovaný GIF súhrnného zobrazenia.

Možnosť displayHTML()

Poznámkové bloky služby Fabric podporujú grafiku HTML pomocou funkcie displayHTML .

Nasledujúci obrázok je príkladom vytvárania vizualizácií pomocou D3.js.

Snímka obrazovky príkladu grafu vytvoreného pomocou D3.js.

Ak chcete vytvoriť túto vizualizáciu, spustite nasledujúci kód.

displayHTML("""<!DOCTYPE html>
<meta charset="utf-8">

<!-- Load d3.js -->
<script src="https://d3js.org/d3.v4.js"></script>

<!-- Create a div where the graph will take place -->
<div id="my_dataviz"></div>
<script>

// set the dimensions and margins of the graph
var margin = {top: 10, right: 30, bottom: 30, left: 40},
  width = 400 - margin.left - margin.right,
  height = 400 - margin.top - margin.bottom;

// append the svg object to the body of the page
var svg = d3.select("#my_dataviz")
.append("svg")
  .attr("width", width + margin.left + margin.right)
  .attr("height", height + margin.top + margin.bottom)
.append("g")
  .attr("transform",
        "translate(" + margin.left + "," + margin.top + ")");

// Create Data
var data = [12,19,11,13,12,22,13,4,15,16,18,19,20,12,11,9]

// Compute summary statistics used for the box:
var data_sorted = data.sort(d3.ascending)
var q1 = d3.quantile(data_sorted, .25)
var median = d3.quantile(data_sorted, .5)
var q3 = d3.quantile(data_sorted, .75)
var interQuantileRange = q3 - q1
var min = q1 - 1.5 * interQuantileRange
var max = q1 + 1.5 * interQuantileRange

// Show the Y scale
var y = d3.scaleLinear()
  .domain([0,24])
  .range([height, 0]);
svg.call(d3.axisLeft(y))

// a few features for the box
var center = 200
var width = 100

// Show the main vertical line
svg
.append("line")
  .attr("x1", center)
  .attr("x2", center)
  .attr("y1", y(min) )
  .attr("y2", y(max) )
  .attr("stroke", "black")

// Show the box
svg
.append("rect")
  .attr("x", center - width/2)
  .attr("y", y(q3) )
  .attr("height", (y(q1)-y(q3)) )
  .attr("width", width )
  .attr("stroke", "black")
  .style("fill", "#69b3a2")

// show median, min and max horizontal lines
svg
.selectAll("toto")
.data([min, median, max])
.enter()
.append("line")
  .attr("x1", center-width/2)
  .attr("x2", center+width/2)
  .attr("y1", function(d){ return(y(d))} )
  .attr("y2", function(d){ return(y(d))} )
  .attr("stroke", "black")
</script>

"""
)

Vloženie zostavy Služby Power BI do poznámkového bloku

Dôležité

Táto funkcia je vo verzii Preview.

Balík jazyka Python v službe Powerbiclient je teraz natívne podporovaný v poznámkových blokoch služby Fabric. Nie je potrebné robiť žiadne ďalšie nastavenia (napríklad proces overovania) na notebooku Fabric Spark runtime 3.4. Stačí importovať powerbiclient a potom pokračovať v skúmaní. Ďalšie informácie o používaní balíka powerbiclient nájdete v dokumentácii powerbiclient.

Powerbiclient podporuje nasledujúce kľúčové funkcie.

Vykreslenie existujúcej zostavy Power BI

Do poznámkových blokov môžete jednoducho vkladať zostavy Power BI a pracovať s nimi len pomocou niekoľkých riadkov kódu.

Nasledujúci obrázok je príkladom vykresľovania existujúcej zostavy Power BI.

Snímka obrazovky znázorňujúca vizuál krivky, ktorý vykresľuje zostavu Power BI.

Spustením nasledujúceho kódu vykreslíte existujúcu zostavu Power BI.

from powerbiclient import Report

report_id="Your report id"
report = Report(group_id=None, report_id=report_id)

report

Vytvorenie vizuálov zostáv z údajového rámca Spark

Na rýchle generovanie prehľadných vizualizácií môžete v poznámkovom bloku použiť údajový rámec Spark. Môžete tiež vybrať položku Uložiť vo vloženej zostave a vytvoriť tak položku zostavy v cieľovom pracovnom priestore.

Nasledujúci obrázok je príkladom údajového QuickVisualize() rámca služby Spark.

Snímka obrazovky znázorňujúca zostavu služby Power BI z údajového rámca.

Spustením nasledujúceho kódu vykreslíte zostavu z údajového rámca Spark.

# Create a spark dataframe from a Lakehouse parquet table
sdf = spark.sql("SELECT * FROM testlakehouse.table LIMIT 1000")

# Create a Power BI report object from spark data frame
from powerbiclient import QuickVisualize, get_dataset_config
PBI_visualize = QuickVisualize(get_dataset_config(sdf))

# Render new report
PBI_visualize

Vytvorenie vizuálov zostáv z údajového rámca Pandas

V poznámkovom bloku môžete vytvárať zostavy založené na údajovom prvku Pandas.

Nasledujúci obrázok je príkladom údajového QuickVisualize() rámca pandas.

Snímka obrazovky znázorňujúca zostavu z údajového rámca Pandas.

Spustením nasledujúceho kódu vykreslíte zostavu z údajového rámca Spark.

import pandas as pd

# Create a pandas dataframe from a URL
df = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/fips-unemp-16.csv")

# Create a pandas dataframe from a Lakehouse csv file
from powerbiclient import QuickVisualize, get_dataset_config

# Create a Power BI report object from your data
PBI_visualize = QuickVisualize(get_dataset_config(df))

# Render new report
PBI_visualize

Pokiaľ ide o vizualizáciu údajov, jazyk Python ponúka viacero grafových knižníc, ktoré sú plné mnohých rôznych funkcií. Každý fond Apache Spark v službe Fabric predvolene obsahuje množinu vytvorených a populárnych knižníc typu open-source.

Matplotlib

Štandardné knižnice vykreslenia, ako napríklad Matplotlib, môžete vykresliť pomocou vstavaných funkcií vykresľovania pre každú knižnicu.

Nasledujúci obrázok je príkladom vytvorenia pruhového grafu pomocou knižnice Matplotlib.

Snímka obrazovky čiarového grafu vytvoreného pomocou rozhrania Matplotlib.

Snímka obrazovky pruhového grafu vytvoreného pomocou rozhrania Matplotlib.

Nakreslte tento pruhový graf spustením nasledujúceho vzorového kódu.

# Bar chart

import matplotlib.pyplot as plt

x1 = [1, 3, 4, 5, 6, 7, 9]
y1 = [4, 7, 2, 4, 7, 8, 3]

x2 = [2, 4, 6, 8, 10]
y2 = [5, 6, 2, 6, 2]

plt.bar(x1, y1, label="Blue Bar", color='b')
plt.bar(x2, y2, label="Green Bar", color='g')
plt.plot()

plt.xlabel("bar number")
plt.ylabel("bar height")
plt.title("Bar Chart Example")
plt.legend()
plt.show()

Bokeh

Môžete vykresliť HTML alebo interaktívne knižnice, ako napríklad bokeh, pomocou displayHTML(df).

Nasledujúci obrázok je príkladom vykreslenia glyfov na mape pomocou bokeh.

Snímka obrazovky príkladu vykreslenia glyfov na mape.

Ak chcete nakresliť tento obrázok, spustite nasledujúci vzorový kód.

from bokeh.plotting import figure, output_file
from bokeh.tile_providers import get_provider, Vendors
from bokeh.embed import file_html
from bokeh.resources import CDN
from bokeh.models import ColumnDataSource

tile_provider = get_provider(Vendors.CARTODBPOSITRON)

# range bounds supplied in web mercator coordinates
p = figure(x_range=(-9000000,-8000000), y_range=(4000000,5000000),
           x_axis_type="mercator", y_axis_type="mercator")
p.add_tile(tile_provider)

# plot datapoints on the map
source = ColumnDataSource(
    data=dict(x=[ -8800000, -8500000 , -8800000],
              y=[4200000, 4500000, 4900000])
)

p.circle(x="x", y="y", size=15, fill_color="blue", fill_alpha=0.8, source=source)

# create an html document that embeds the Bokeh plot
html = file_html(p, CDN, "my plot1")

# display this html
displayHTML(html)

Plotly

Pomocou jazyka displayHTML()môžete vykresliť HTML alebo interaktívne knižnice, ako napríklad Plotly.

Ak chcete nakresliť tento obrázok, spustite nasledujúci vzorový kód.

Snímka obrazovky mapy Spojených štátov amerických vytvorenej pomocou možnosti Plotly.

from urllib.request import urlopen
import json
with urlopen('https://raw.githubusercontent.com/plotly/datasets/master/geojson-counties-fips.json') as response:
    counties = json.load(response)

import pandas as pd
df = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/fips-unemp-16.csv",
                   dtype={"fips": str})

import plotly
import plotly.express as px

fig = px.choropleth(df, geojson=counties, locations='fips', color='unemp',
                           color_continuous_scale="Viridis",
                           range_color=(0, 12),
                           scope="usa",
                           labels={'unemp':'unemployment rate'}
                          )
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})

# create an html document that embeds the Plotly plot
h = plotly.offline.plot(fig, output_type='div')

# display this html
displayHTML(h)

Pandy

Výstup v jazyku HTML pre pandas dataframes môžete zobraziť ako predvolený výstup. Poznámkové bloky služby Fabric automaticky zobrazujú štylizované obsah HTML.

Snímka obrazovky tabuľky vytvorenej pomocou pandy.

import pandas as pd 
import numpy as np 

df = pd.DataFrame([[38.0, 2.0, 18.0, 22.0, 21, np.nan],[19, 439, 6, 452, 226,232]], 

                  index=pd.Index(['Tumour (Positive)', 'Non-Tumour (Negative)'], name='Actual Label:'), 

                  columns=pd.MultiIndex.from_product([['Decision Tree', 'Regression', 'Random'],['Tumour', 'Non-Tumour']], names=['Model:', 'Predicted:'])) 

df