From 57adfca53aed65756767ac1e71727c6aec7be777 Mon Sep 17 00:00:00 2001 From: ruidajo Date: Wed, 20 Apr 2022 16:44:34 -0500 Subject: [PATCH] Creating quotes histogram exporter. --- .../instance/exportQuotesHistogram.st | 34 ++++++++++++++++ .../exportQuotesHistogramWithBars..st | 39 +++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 Socialmetrica.package/NitterUser.class/instance/exportQuotesHistogram.st create mode 100644 Socialmetrica.package/NitterUser.class/instance/exportQuotesHistogramWithBars..st diff --git a/Socialmetrica.package/NitterUser.class/instance/exportQuotesHistogram.st b/Socialmetrica.package/NitterUser.class/instance/exportQuotesHistogram.st new file mode 100644 index 0000000..bf818c3 --- /dev/null +++ b/Socialmetrica.package/NitterUser.class/instance/exportQuotesHistogram.st @@ -0,0 +1,34 @@ +accessing +exportQuotesHistogram + + | quotesOccurrences labels diagram x quotesHistogram | + + quotesOccurrences := self quotesSortedByOccurrences. + x := 1 to: quotesOccurrences size. + labels := quotesOccurrences keys. + quotesHistogram := RSChart new. + quotesHistogram extent: 800@200. + diagram := RSBarPlot new x: x y: quotesOccurrences 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 /quotesOccurrences size; + yourself). + quotesHistogram addDecoration: (RSVerticalTick new + integer; + fontSize: 80 /quotesOccurrences 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' \ No newline at end of file diff --git a/Socialmetrica.package/NitterUser.class/instance/exportQuotesHistogramWithBars..st b/Socialmetrica.package/NitterUser.class/instance/exportQuotesHistogramWithBars..st new file mode 100644 index 0000000..81495ae --- /dev/null +++ b/Socialmetrica.package/NitterUser.class/instance/exportQuotesHistogramWithBars..st @@ -0,0 +1,39 @@ +accessing +exportQuotesHistogramWithBars: aNumberOfBars + + | keysToRemove quotes x 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. + + x := 1 to: quotes size. + labels := quotes keys. + quotesHistogram := RSChart new. + quotesHistogram extent: 800@200. + diagram := RSBarPlot new x: x 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' \ No newline at end of file