Navigation Menu

Skip to content

Commit

Permalink
[processing] update bar plot
Browse files Browse the repository at this point in the history
  • Loading branch information
alexbruy committed Feb 15, 2017
1 parent 34b277a commit 46a9891
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 25 deletions.
18 changes: 8 additions & 10 deletions python/plugins/processing/algs/qgis/BarPlot.py
Expand Up @@ -25,8 +25,11 @@

__revision__ = '$Format:%H$'

import matplotlib.pyplot as plt
import matplotlib.pylab as lab
#import matplotlib.pyplot as plt
#import matplotlib.pylab as lab

import plotly as plt
import plotly.graph_objs as go
import numpy as np

from processing.core.parameters import ParameterTable
Expand Down Expand Up @@ -69,13 +72,8 @@ def processAlgorithm(self, feedback):
output = self.getOutputValue(self.OUTPUT)

values = vector.values(layer, namefieldname, valuefieldname)
plt.close()

ind = np.arange(len(values[namefieldname]))
width = 0.8
plt.bar(ind, values[valuefieldname], width, color='r')
plt.xticks(ind, values[namefieldname], rotation=45)
plotFilename = output + '.png'
lab.savefig(plotFilename)
with open(output, 'w') as f:
f.write('<html><img src="' + plotFilename + '"/></html>')
data = [go.Bar(x=ind,
y=values[valuefieldname])]
plt.offline.plot(data, filename=output)
42 changes: 27 additions & 15 deletions python/plugins/processing/algs/qgis/QGISAlgorithmProvider.py
Expand Up @@ -28,11 +28,14 @@
import os

try:
import matplotlib.pyplot
assert matplotlib # NOQA silence pyflakes
hasMatplotlib = True
#import matplotlib.pyplot
#assert matplotlib # NOQA silence pyflakes
#hasMatplotlib = True
import plotly
hasPlotly = True
except:
hasMatplotlib = False
#hasMatplotlib = False
hasPlotly = False

from qgis.PyQt.QtGui import QIcon

Expand Down Expand Up @@ -259,19 +262,28 @@ def __init__(self):
FixGeometry(), ExecuteSQL(), FindProjection()
]

if hasMatplotlib:
from .VectorLayerHistogram import VectorLayerHistogram
from .RasterLayerHistogram import RasterLayerHistogram
from .VectorLayerScatterplot import VectorLayerScatterplot
from .MeanAndStdDevPlot import MeanAndStdDevPlot
#~ if hasMatplotlib:
#~ from .VectorLayerHistogram import VectorLayerHistogram
#~ from .RasterLayerHistogram import RasterLayerHistogram
#~ from .VectorLayerScatterplot import VectorLayerScatterplot
#~ from .MeanAndStdDevPlot import MeanAndStdDevPlot
#~ from .BarPlot import BarPlot
#~ from .PolarPlot import PolarPlot

#~ self.alglist.extend([
#~ VectorLayerHistogram(), RasterLayerHistogram(),
#~ VectorLayerScatterplot(), MeanAndStdDevPlot(), BarPlot(),
#~ PolarPlot(),
#~ ])
if hasPlotly:
#~ from .VectorLayerHistogram import VectorLayerHistogram
#~ from .RasterLayerHistogram import RasterLayerHistogram
#~ from .VectorLayerScatterplot import VectorLayerScatterplot
#~ from .MeanAndStdDevPlot import MeanAndStdDevPlot
from .BarPlot import BarPlot
from .PolarPlot import PolarPlot
#~ from .PolarPlot import PolarPlot

self.alglist.extend([
VectorLayerHistogram(), RasterLayerHistogram(),
VectorLayerScatterplot(), MeanAndStdDevPlot(), BarPlot(),
PolarPlot(),
])
self.alglist.extend([BarPlot()])

self.externalAlgs = [] # to store algs added by 3rd party plugins as scripts

Expand Down

0 comments on commit 46a9891

Please sign in to comment.