Graphique de base à une ligne de HoloViews

Après Dernière fois, cette fois, je présenterai le graphe de base.

Type de graphique

Les graphiques sont essentiellement dessinés à l'aide de classes appartenant au module holoviews.element.

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

Vous pouvez également consulter la liste en regardant holoviews.elements_list.

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']

Cette fois, je présenterai le graphe de base holoviews.element.chart.

Préparation préalable

Importez les modules requis et préparez des exemples de données. (Veuillez me pardonner de ne pas être un one-liner à ce stade)

import holoviews as hv
import numpy as np

hv.extension('bokeh')

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

Le backend est défini avec Bokeh, mais il fonctionne également avec matplotlib. Certains graphiques ne sont pas dessinés par tracé.

Graphique linéaire

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

curve.png

Graphique en plan

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

area.png

Nuage de points

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

Ou

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

points.png

La différence entre «Points» et «Scatter» est en cours de confirmation.

graphique à barres

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

bars.png

histogramme

Puisqu'il ne calcule pas automatiquement, la fréquence et le bord du bac sont calculés à partir de numpy.

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

histogram.png

Vous pouvez ajouter un histogramme en appelant la méthode hist à partir d'un graphique tel qu'un nuage de points. C'est vraiment simple.

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

image.png

Boîte à moustaches

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

boxwhisker.png

Barre d'erreur

Comme il n'est pas de bon goût en soi, un graphique de ligne de pliage est ajouté.

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

errorbars.png

Propagé

C'est un graphique qui donne de la largeur aux données originales. (J'ai l'impression de ne pas bien l'expliquer, alors je souhaite la bienvenue à Tsukkomi) Ça a l'air bien de faire un groupe de Bollinger.

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

spread.png

spectre

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

spikes.png

Vous pouvez également combiner des diagrammes de dispersion comme indiqué ci-dessous.

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

image.png

Champ vectoriel

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

vectorfield.png

TBD Nous le mettrons à jour dès qu'il y aura des informations supplémentaires.

Si vous avez un contenu auquel vous souhaiteriez que nous accordions la priorité, veuillez commenter.

Recommended Posts

Graphique de base à une ligne de HoloViews
Fonctionnement de base des pandas
Utilisation basique de flask-classy
Utilisation de base de Jinja2
Fonctionnement de base des Pandas
Utilisation de base de SQL Alchemy
Utilisation super basique de pytest
Utilisation de base de l'interface graphique PySimple
Flux de base de détection d'anomalies
Principes de base de XPath (1) - Concept de base de XPath
Résumé de l'utilisation de base de Pandas
Composants liés du graphique
Utilisation basique de la f-string Python
Tracé interactif du graphique 3D
Connaissance de base de Linux et des commandes de base
Résumé des connaissances de base de PyPy Partie 1
Une collection de serveurs Web à une seule ligne
Traitement en une seule ligne de la mémoire de boue (CSV)
À propos du type de base de Go
Grammaire de base du système Python3 (dictionnaire)
Etude de base d'OpenCV avec Python