28
28
import matplotlib .pyplot as plt
29
29
import matplotlib .pylab as lab
30
30
import numpy as np
31
+
31
32
from PyQt4 .QtCore import *
32
33
from qgis .core import *
33
34
34
35
from processing .core .GeoAlgorithm import GeoAlgorithm
35
36
from processing .core .parameters import ParameterTable
36
37
from processing .core .parameters import ParameterTableField
37
38
from processing .core .outputs import OutputHTML
38
- from processing .tools import *
39
+
40
+ from processing .tools import vector
41
+ from processing .tools import dataobjects
39
42
40
43
41
44
class MeanAndStdDevPlot (GeoAlgorithm ):
@@ -46,17 +49,33 @@ class MeanAndStdDevPlot(GeoAlgorithm):
46
49
MEAN_FIELD = 'MEAN_FIELD'
47
50
STDDEV_FIELD = 'STDDEV_FIELD'
48
51
52
+ def defineCharacteristics (self ):
53
+ self .name = 'Mean and standard deviation plot'
54
+ self .group = 'Graphics'
55
+
56
+ self .addParameter (ParameterTable (self .INPUT ,
57
+ self .tr ('Input table' )))
58
+ self .addParameter (ParameterTableField (self .NAME_FIELD ,
59
+ self .tr ('Category name field' ), self .INPUT ,
60
+ ParameterTableField .DATA_TYPE_ANY ))
61
+ self .addParameter (ParameterTableField (self .MEAN_FIELD ,
62
+ self .tr ('Mean field' ), self .INPUT ))
63
+ self .addParameter (ParameterTableField (self .STDDEV_FIELD ,
64
+ self .tr ('StdDev field' ), self .INPUT ))
65
+
66
+ self .addOutput (OutputHTML (self .OUTPUT , self .tr ('Output' )))
67
+
49
68
def processAlgorithm (self , progress ):
50
- uri = self . getParameterValue ( self . INPUT )
51
- layer = dataobjects . getObjectFromUri ( uri )
69
+ layer = dataobjects . getObjectFromUri (
70
+ self . getParameterValue ( self . INPUT ) )
52
71
namefieldname = self .getParameterValue (self .NAME_FIELD )
53
72
meanfieldname = self .getParameterValue (self .MEAN_FIELD )
54
73
stddevfieldname = self .getParameterValue (self .STDDEV_FIELD )
74
+
55
75
output = self .getOutputValue (self .OUTPUT )
56
- values = vector .getAttributeValues (layer , namefieldname ,
57
- meanfieldname , stddevfieldname )
58
- plt .close ()
59
76
77
+ values = vector .values (layer , namefieldname , meanfieldname , stddevfieldname )
78
+ plt .close ()
60
79
ind = np .arange (len (values [namefieldname ]))
61
80
width = 0.8
62
81
plt .bar (ind , values [meanfieldname ], width , color = 'r' ,
@@ -70,17 +89,3 @@ def processAlgorithm(self, progress):
70
89
f = open (output , 'w' )
71
90
f .write ('<img src="' + plotFilename + '"/>' )
72
91
f .close ()
73
-
74
- def defineCharacteristics (self ):
75
- self .name = 'Mean and standard deviation plot'
76
- self .group = 'Graphics'
77
- self .addParameter (ParameterTable (self .INPUT ,
78
- self .tr ('Input table' )))
79
- self .addParameter (ParameterTableField (self .NAME_FIELD ,
80
- self .tr ('Category name field' ), self .INPUT ,
81
- ParameterTableField .DATA_TYPE_ANY ))
82
- self .addParameter (ParameterTableField (self .MEAN_FIELD ,
83
- self .tr ('Mean field' ), self .INPUT ))
84
- self .addParameter (ParameterTableField (self .STDDEV_FIELD ,
85
- self .tr ('StdDev field' ), self .INPUT ))
86
- self .addOutput (OutputHTML (self .OUTPUT , self .tr ('Output' )))
0 commit comments