Après Dernière fois, cette fois, je présenterai le graphe de base.
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
.
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é.
hv.Curve((x, np.sin(x)))
hv.Area((x, np.sin(x)))
hv.Points(np.random.randn(100, 2))
Ou
hv.Scatter(np.random.randn(100, 2))
La différence entre «Points» et «Scatter» est en cours de confirmation.
hv.Bars((list('abc'), range(1, 4)))
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)))
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()
hv.BoxWhisker(np.random.randn(1000))
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)))
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)))
hv.Spikes(np.random.randn(100))
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'])
hv.VectorField((range(10), range(10), np.random.rand(10), np.random.rand(10)))
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