Showing frequencies of words using horizontal bar chart
Source code name: "barchart_popularity.py"
Programming language: Python
Topic: Plots/2D
DMelt Version 1.4. Last modified: 08/30/2019. License: Free
http://datamelt.org/code/cache/barchart_popularity_5237.py
To run this script using the DMelt IDE, copy the above URL link to the menu [File]→[Read script from URL] of the DMelt IDE.


text="""R Weka Orange  RapidMiner DataMelt Weka Orange  RapidMiner DataMelt Knime  
ApacheMahout Elki Keel Moa Rattle DataMelt Knime OpenRefine Orange R ableauPublic  
TrifiaWrangler RapidMiner Orange Weka Knime Sisense SSDT ApacheMahout OracleDataMining  
Rattle DataMelt IBMCognos SPSS SAS TeraData Board DundasBI Weka  
RapidMiner Orange Knime DataMelt ApacheMahout Elki MOA Keel Rattle Gnuplot 
Ctioga LabPlot Matplotlib ROOT DataMelt GLE PLPlot RLPlot Genius RapidMiner Orange 
Weka Knime Sisense SSDT ApacheMahout Rattle DataMelt IBMCognos IBMdataMining  
Teradata Board DundasBY Python Spark H2O Astropy Biopython Cubes Deap Scoop PsychoPy 
Pandas MIpy Matplotlib NumPy NetworkX TomoPy Theano SymPy SciPy ScientificPython SageMath 
Veusz SunPy GraphTool TensorFlow DataMelt Dask PythonWekaWrapper RapidMiner 
ApacheMahout Orange Weka DataMelt Keel SPMF Rattle RapidMiner Elki R Knime 
Weka Orange DataMelt Rattle ROOT Sisense OracleDataMining RapidMiner SharePoint 
IBMCognos Knime DundasBI Board Orange SAP Salesforce Domo SPSS ProForecast 
RockDaisy RapidMiner Orange GraphLab-Create R Weka Knime ApacheUIMA Cluto Anaconda 
Shogun TraMinerR Rosetta R TableauPublic Python SAS ApacheSpark Excel RapidMiner 
Knime QlikView Splunk"""

frequency = {}
match_pattern = text.split()
for word in match_pattern:
    count = frequency.get(word,0)
    frequency[word] = count + 1
frequency_list = frequency.keys()
slist= sorted(frequency.items(), key=lambda x: x[1], reverse=True)

from jhplot import *
c1 = HChart("bars",400,800)
c1.visible()
c1.setChartBar()
c1.setNameX("") 
c1.setNameY("") 
c1.setName("Number of mentions")
name1="2017-2018 reviews"
k=0
for L in slist: 
    key=L[0]
    value=L[1]
    c1.valueBar(float(value) ,key,name1)
    k +=1 
    if (k>30): break
c1.setPlotHorizontal()
c1.update()