SpiderPlot
VTKExamples/Python/Plotting/SpiderPlot
Description¶
Translated from the c plus plus test
Code¶
SpiderPlot.py
#!/usr/bin/env python import vtk import random numTuples = 12 bitter = vtk.vtkFloatArray() bitter.SetNumberOfTuples(numTuples) crispy = vtk.vtkFloatArray() crispy.SetNumberOfTuples(numTuples) crunchy = vtk.vtkFloatArray() crunchy.SetNumberOfTuples(numTuples) salty = vtk.vtkFloatArray() salty.SetNumberOfTuples(numTuples) oily = vtk.vtkFloatArray() oily.SetNumberOfTuples(numTuples) for i in range(numTuples): bitter.SetTuple1(i, random.randint(1, 10)) crispy.SetTuple1(i, random.randint(-1, 1)) crunchy.SetTuple1(i, random.randint(1, 100)) salty.SetTuple1(i, random.randint(0, 10)) oily.SetTuple1(i, random.randint(5, 25)) dobj = vtk.vtkDataObject() dobj.GetFieldData().AddArray(bitter) dobj.GetFieldData().AddArray(crispy) dobj.GetFieldData().AddArray(crunchy) dobj.GetFieldData().AddArray(salty) dobj.GetFieldData().AddArray(oily) actor = vtk.vtkSpiderPlotActor() actor.SetInputData(dobj) actor.SetTitle("spider plot") actor.SetIndependentVariablesToColumns() actor.GetPositionCoordinate().SetValue(0.05, 0.1, 0.0) actor.GetPosition2Coordinate().SetValue(0.95, 0.85, 0.0) actor.GetProperty().SetColor(1, 0, 0) actor.SetAxisLabel(0, "Bitter") actor.SetAxisRange(0, 1, 10) actor.SetAxisLabel(1, "Crispy") actor.SetAxisRange(1, -1, 1) actor.SetAxisLabel(2, "Crunchy") actor.SetAxisRange(2, 1, 100) actor.SetAxisLabel(3, "Salty") actor.SetAxisRange(3, 0, 10) actor.SetAxisLabel(4, "Oily") actor.SetAxisRange(4, 5, 25) actor.GetLegendActor().SetNumberOfEntries(numTuples) for i in range(numTuples): actor.SetPlotColor(i, random.random(), random.random(), random.random()) actor.LegendVisibilityOn() # // Set text colors (same as actor for backward compat with test) # actor.GetTitleTextProperty().SetColor(1, 1, 0) # actor.GetLabelTextProperty().SetColor(1, 0, 0) ren1 = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(ren1) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) ren1.AddActor(actor) ren1.SetBackground(0, 0, 0) renWin.SetSize(500, 500) iren.Initialize() renWin.Render() iren.Start()