46 lines
1.4 KiB
Smalltalk
46 lines
1.4 KiB
Smalltalk
accessing
|
|
exportTweetsHistogramWithBars: aNumberOfBars
|
|
|
|
| tweetsByTimeSpan subtotals tweetsHistogram diagram |
|
|
|
|
self tweets ifEmpty: [
|
|
tweetsHistogram := RSChart new.
|
|
tweetsHistogram extent: 800@200.
|
|
tweetsHistogram build.
|
|
tweetsHistogram canvas pdfExporter
|
|
zoomToShapes;
|
|
noFixedShapes;
|
|
fileName: (self folder / 'tweets-histogram.pdf')fullName;
|
|
export.
|
|
^ {self. 'self tweets is empty'}
|
|
].
|
|
|
|
tweetsByTimeSpan := self collectMessages: [ self tweets] byTimeSpanSplits: aNumberOfBars.
|
|
subtotals := tweetsByTimeSpan values collect: [ :collection | collection size ].
|
|
tweetsHistogram := RSChart new.
|
|
tweetsHistogram extent: 800@200.
|
|
diagram := RSBarPlot new
|
|
x: (1 to: subtotals size)
|
|
y:subtotals.
|
|
diagram color: (Color r:(91/255) g:(131/255) b:(222/255)).
|
|
tweetsHistogram addPlot: diagram.
|
|
tweetsHistogram addDecoration: (RSHorizontalTick new
|
|
fromNames: tweetsByTimeSpan keys;
|
|
labelRotation: 0;
|
|
fontSize: 72 /aNumberOfBars;
|
|
yourself).
|
|
tweetsHistogram addDecoration: (RSVerticalTick new
|
|
integer;
|
|
fontSize: 72 /aNumberOfBars).
|
|
tweetsHistogram build.
|
|
tweetsHistogram canvas pngExporter
|
|
zoomToShapes;
|
|
noFixedShapes;
|
|
fileName: (self folder / 'tweets-histogram.png')fullName;
|
|
export.
|
|
tweetsHistogram canvas pdfExporter
|
|
zoomToShapes;
|
|
noFixedShapes;
|
|
fileName: (self folder / 'tweets-histogram.pdf')fullName;
|
|
export.
|
|
^ self folder / 'tweets-histogram.png' |