49 lines
1.5 KiB
Smalltalk
49 lines
1.5 KiB
Smalltalk
accessing
|
|
exportQuotesHistogramWithBars: aNumberOfBars
|
|
|
|
| quotesDict |
|
|
quotesDict := {
|
|
'messagesType' -> 'quotes'.
|
|
'extent' -> (800@200).
|
|
'color' -> (Color r:(89/255) g:(217/255) b:(95/255))
|
|
} asDictionary.
|
|
^ self exportHistogramFor: quotesDict By: aNumberOfBars
|
|
|
|
|
|
"| keysToRemove quotes labels quotesHistogram diagram |
|
|
quotes := self quotes asMessagesUserNamesSortedByOccurrences.
|
|
(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.
|
|
labels := labels collect: [ :profiles | ('@', profiles) ].
|
|
quotesHistogram := RSChart new.
|
|
quotesHistogram extent: 800@200.
|
|
diagram := RSBarPlot new
|
|
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: 72 /quotes size;
|
|
yourself).
|
|
quotesHistogram addDecoration: (RSVerticalTick new
|
|
asFloat: 2;
|
|
fontSize: 72 /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'" |