[PYTHON] Einzeiliges Basisdiagramm von HoloViews

Nach Letztes Mal werde ich dieses Mal das grundlegende Diagramm vorstellen.

Diagrammtyp

Diagramme werden grundsätzlich mit Klassen gezeichnet, die zum Modul "holoviews.element" gehören.

http://holoviews.org/Reference_Manual/holoviews.element.html

Sie können die Liste auch unter "holoviews.elements_list" überprüfen.

import holoviews as hv

print(hv.elements_list)
['Tabular', 'Curve', 'Annotation', 'Histogram', 'GridImage', 'Bounds', 'VectorField', 'Trisurface', 'HSV', 'Dataset', 'Area', 'Spikes', 'BoxWhisker', 'Spread', 'VLine', 'Spline', 'Chart', 'Surface', 'Element3D', 'Arrow', 'Polygons', 'Points', 'ErrorBars', 'QuadMesh', 'HeatMap', 'Ellipse', 'Box', 'Raster', 'Table', 'Text', 'Image', 'HLine', 'ItemTable', 'Element2D', 'Contours', 'Bars', 'Scatter', 'Element', 'Scatter3D', 'Path', 'BaseShape', 'RGB']

Dieses Mal werde ich das grundlegende Diagramm "holoviews.element.chart" vorstellen.

Vorbereitungen

Importieren Sie die erforderlichen Module und bereiten Sie Beispieldaten vor. (Bitte verzeihen Sie mir, dass ich zu diesem Zeitpunkt kein Einzeiler bin.)

import holoviews as hv
import numpy as np

hv.extension('bokeh')

np.random.seed(111)
x = np.linspace(-np.pi, np.pi, 100)

Das Backend ist mit Bokeh eingestellt, funktioniert aber auch mit matplotlib. Einige Grafiken werden nicht von Plot gezeichnet.

Liniendiagramm

hv.Curve((x, np.sin(x)))

curve.png

Flugzeugdiagramm

hv.Area((x, np.sin(x)))

area.png

Streudiagramm

hv.Points(np.random.randn(100, 2))

Oder

hv.Scatter(np.random.randn(100, 2))

points.png

Der Unterschied zwischen "Punkten" und "Streuung" wird bestätigt.

Balkendiagramm

hv.Bars((list('abc'), range(1, 4)))

bars.png

Histogramm

Da es nicht automatisch berechnet wird, werden die Frequenz und die Kante des Behälters aus numpy berechnet.

hv.Histogram(np.histogram(np.random.randn(1000)))

histogram.png

Sie können ein Histogramm hinzufügen, indem Sie die Hist-Methode aus einem Diagramm wie einem Streudiagramm aufrufen. Es ist wirklich einfach.

hv.Points(np.random.randn(100, 2)).hist()

image.png

Box Whisker

hv.BoxWhisker(np.random.randn(1000))

boxwhisker.png

Fehlerleiste

Da es an sich nicht geschmackvoll ist, wird ein Faltliniendiagramm hinzugefügt.

hv.ErrorBars([(i, np.sin(i), np.random.rand() / 10)
              for i in x]) * hv.Curve((x, np.sin(x)))

errorbars.png

Ausbreitung

Es ist ein Diagramm, das den Originaldaten Breite verleiht. (Ich habe das Gefühl, dass ich es nicht gut erklärt habe, also begrüße ich Tsukkomi) Es sieht gut aus, eine Bollinger-Band zu machen.

hv.Spread((x, np.sin(x), np.random.rand(100)))

spread.png

Spektrum

hv.Spikes(np.random.randn(100))

spikes.png

Sie können Streudiagramme auch wie unten gezeigt kombinieren.

p = hv.Points((np.random.randn(100, 2)))
p << hv.Spikes(p['y']) << hv.Spikes(p['x'])

image.png

Vektorfeld

hv.VectorField((range(10), range(10), np.random.rand(10), np.random.rand(10)))

vectorfield.png

TBD Wir werden es aktualisieren, sobald zusätzliche Informationen vorliegen.

Wenn Sie Inhalte haben, denen wir Priorität einräumen sollen, kommentieren Sie diese bitte.

Recommended Posts

Einzeiliges Basisdiagramm von HoloViews
Grundlegende Bedienung von Pandas
Grundlegende Verwendung von Flask-Classy
Grundlegende Verwendung von Jinja2
Grundlegende Bedienung von Pandas
Grundlegende Verwendung von SQL Alchemy
Super grundlegende Verwendung von Pytest
Grundlegende Verwendung der PySimple-Benutzeroberfläche
Grundlegender Ablauf der Erkennung von Anomalien
XPath-Grundlagen (1) - Grundkonzept von XPath
Zusammenfassung der grundlegenden Verwendung von Pandas
Verknüpfte Komponenten des Diagramms
Grundlegende Verwendung von Python-F-String
Interaktives Diagramm eines 3D-Diagramms
Grundkenntnisse in Linux und Grundbefehle
Zusammenfassung der Grundkenntnisse von PyPy Teil 1
Eine Sammlung von einzeiligen Webservern
Einzeilige Verarbeitung des Schlammspeichers (CSV)
Über den Grundtyp von Go
Grundlegende Grammatik des Python3-Systems (Wörterbuch)
Grundlegendes Studium von OpenCV mit Python