Source code for PAMI.extras.scatterPlotSpatialPoints

# scatterPlotSpatialPoints is used to convert the given data and plot the points.
#
#   **Importing this algorithm into a python program**
#   --------------------------------------------------------
#
#   from PAMI.extras.syntheticDataGenerator import scatterPlotSpatialPoints as plt
#
#   obj = plt.scatterPlotSpatialPoints(iFile, "\t")
#
#   obj.save()
#




__copyright__ = """
Copyright (C)  2021 Rage Uday Kiran

     This program is free software: you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
     the Free Software Foundation, either version 3 of the License, or
     (at your option) any later version.

     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.

     You should have received a copy of the GNU General Public License
     along with this program.  If not, see <https://www.gnu.org/licenses/>.
"""

import matplotlib.pyplot as _plt
import pandas as _pd
from urllib.request import urlopen as _urlopen
from typing import Dict, List


[docs] class scatterPlotSpatialPoints: """ :Description: scatterPlotSpatialPoints is used to convert the given data and plot the points. :param iFile: str : Name of the Input file :param sep: str : This variable is used to distinguish items from one another in a transaction. The default seperator is tab space. However, the users can override their default separator. **Importing this algorithm into a python program** -------------------------------------------------------- .. code-block:: python from PAMI.extras.syntheticDataGenerator import scatterPlotSpatialPoints as plt obj = plt.scatterPlotSpatialPoints(iFile, "\t" ) obj.save(oFile) """ def __init__(self, iFile: str, sep: str = '\t') ->None: self._iFile = iFile self._sep = sep def _scanningPoints(self) -> Dict[str, str]: points = {} if isinstance(self._iFile, _pd.DataFrame): x, y = [], [] if self._iFile.empty: print("its empty..") i = self._iFile.columns.values.tolist() if 'x' in i: x = self._iFile['x'].tolist() if 'y' in i: y = self._iFile['y'].tolist() for i in range(len(y)): points[x[i]] = y[i] if isinstance(self._iFile, str): if self._iFile.startswith(('http:', 'https:')): data = _urlopen(self._iFile) for line in data: line = line.strip() line = line.decode("utf-8") temp = [i.rstrip() for i in line.split(self._sep)] temp = [x for x in temp if x] points[temp[0]] = points[temp[1]] else: try: with open(self._iFile, 'r', encoding='utf-8') as f: for line in f: line = line.strip() temp = [i.rstrip() for i in line.split(self._sep)] temp = [x for x in temp if x] points[temp[0]] = temp[1] except IOError: print("File Not Found") quit() return points
[docs] def scatterPlotSpatialPoints(self) -> None: points = self._scanningPoints() keys = [i for i in points.keys()] values = [i for i in points.values()] _plt.scatter(keys, values, c="Red") _plt.xlabel("X-axis") _plt.ylabel("Y-axis") _plt.show() print("Scatter Plot is generated")
if __name__ == '__main__': ab = scatterPlotSpatialPoints(iFile = '/Users/Likhitha/Downloads/spatial_T10I4D100K.csv', sep = ',') ab.scatterPlotSpatialPoints()