40 lines
1.2 KiB
Smalltalk
40 lines
1.2 KiB
Smalltalk
accessing
|
|
exportQuotesHistogramWithBars: aNumberOfBars
|
|
|
|
| keysToRemove quotes labels quotesHistogram diagram |
|
|
quotes := self quotesSortedByOccurrences.
|
|
(aNumberOfBars > quotes size) ifTrue: [ ^ self exportQuotesHistogram ].
|
|
keysToRemove := OrderedCollection new.
|
|
1 to: quotes size - aNumberOfBars do:
|
|
[ :i | keysToRemove add: (quotes keys at: i + aNumberOfBars) ].
|
|
quotes removeKeys: keysToRemove.
|
|
|
|
labels := quotes keys.
|
|
quotesHistogram := RSChart new.
|
|
quotesHistogram extent: 800@200.
|
|
diagram := RSBarPlot new
|
|
x: (1 to: quotes size)
|
|
y: quotes values.
|
|
diagram color: (Color r:(89/255) g:(217/255) b:(95/255)).
|
|
quotesHistogram addPlot: diagram.
|
|
quotesHistogram addDecoration: (RSHorizontalTick new
|
|
fromNames: labels;
|
|
labelRotation: 0;
|
|
fontSize: 80 /quotes size;
|
|
yourself).
|
|
quotesHistogram addDecoration: (RSVerticalTick new
|
|
integer;
|
|
fontSize: 80 /quotes size).
|
|
quotesHistogram build.
|
|
|
|
quotesHistogram canvas pdfExporter
|
|
zoomToShapes;
|
|
noFixedShapes;
|
|
fileName: (self folder / 'quotes-histogram.pdf')fullName;
|
|
export.
|
|
quotesHistogram canvas pngExporter
|
|
zoomToShapes;
|
|
noFixedShapes;
|
|
fileName: (self folder / 'quotes-histogram.png')fullName;
|
|
export.
|
|
^ self folder / 'quotes-histogram.png' |