Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tag: 0.8.1a
Fetching contributors…

Cannot retrieve contributors at this time

63 lines (55 sloc) 2.682 kB
from pyjamas.chart.HovertextChunk import formatAsHovertext
from pyjamas.chart.GChart import GChart
from pyjamas.chart import AnnotationLocation
from pyjamas.chart import SymbolType
"""* Basic pie chart
* <p>
*
* This chart uses the built-in HTML-element based pie chart
* rendering. As of GChart 2.5, faster drawn, better
* looking, solid-filled pie slices can be produced by
* plugging an external canvas library into GChart. See the
* <tt>setCanvasFactory</tt> method's javadocs for the
* details, and the various pie charts on GChart's live demo
* for complete working examples.
*
"""
class GChartExample07 (GChart):
def __init__(self):
GChart.__init__(self)
pieMarketShare = [0.65,0.20,0.10,0.05]
pieTypes = ["Apple", "Cherry", "Pecan", "Bannana"]
pieColors = ["green", "red", "maroon", "yellow"]
self.setChartSize(300, 200)
self.setChartTitle("<h3>2008 Sales by Pie Flavor" +
"<br>(Puny Pies, Inc.) </h3>")
self.setLegendVisible(False)
self.getXAxis().setAxisVisible(False)
self.getYAxis().setAxisVisible(False)
self.getXAxis().setAxisMin(0)
self.getXAxis().setAxisMax(10)
self.getXAxis().setTickCount(0)
self.getYAxis().setAxisMin(0)
self.getYAxis().setAxisMax(10)
self.getYAxis().setTickCount(0)
# this line orients the center of the first slice (apple) due east
self.setInitialPieSliceOrientation(0.75 - pieMarketShare[0]/2)
for i in range(len(pieMarketShare)):
self.addCurve()
self.getCurve().addPoint(5,5)
self.getCurve().getSymbol().setSymbolType(
SymbolType.PIE_SLICE_OPTIMAL_SHADING)
self.getCurve().getSymbol().setBorderColor("white")
self.getCurve().getSymbol().setBackgroundColor(pieColors[i])
# next two lines define pie diameter in x-axis model units
self.getCurve().getSymbol().setModelWidth(6)
self.getCurve().getSymbol().setHeight(0)
self.getCurve().getSymbol().setFillSpacing(0)
self.getCurve().getSymbol().setFillThickness(3)
self.getCurve().getSymbol().setHovertextTemplate(
formatAsHovertext(pieTypes[i] + ", " +
"%d%%" % round(100*pieMarketShare[i])))
self.getCurve().getSymbol().setPieSliceSize(pieMarketShare[i])
self.getCurve().getPoint().setAnnotationText(pieTypes[i])
self.getCurve().getPoint().setAnnotationLocation(
AnnotationLocation.OUTSIDE_PIE_ARC)
Jump to Line
Something went wrong with that request. Please try again.