<commit_before>import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap 
from matplotlib.patches import Polygon

# Tissot's Indicatrix (http://en.wikipedia.org/wiki/Tissot's_Indicatrix). 
# These diagrams illustrate the distortion inherent in all map projections.
# In conformal projections, where angles are conserved around every location, 
# the Tissot's indicatrix are all circles, with varying sizes. In equal-area 
# projections, where area proportions between objects are conserved, the 
# Tissot's indicatrix have all unit area, although their shapes and 
# orientations vary with location.

# create Basemap instances with several different projections
m1 = Basemap(llcrnrlon=-180,llcrnrlat=-80,urcrnrlon=180,urcrnrlat=80,
              projection='cyl')
m2 = Basemap(lon_0=-60,lat_0=45,projection='ortho')
# use WGS84 ellipsoid in this one.
m3 = Basemap(llcrnrlon=-180,llcrnrlat=-70,urcrnrlon=180,urcrnrlat=70,
              projection='merc',lat_ts=20,rsphere=(6378137.0,6356752.3142))
m4 = Basemap(lon_0=270,lat_0=90,boundinglat=10,projection='npstere')
m5 = Basemap(lon_0=270,lat_0=90,boundinglat=10,projection='nplaea')

for m in [m1,m2,m3,m4,m5]:
    # make a new figure.
    fig = plt.figure()
    ax = plt.gca()
    # draw "circles" at specified longitudes and latitudes.
    for parallel in range(-60,61,30):
        for meridian in range(-165,166,30):
            seg = m.tissot(meridian,parallel,6,100)
            poly = Polygon(seg,facecolor='green',zorder=10)
            ax.add_patch(poly)<commit_msg>check for required Basemap version.<commit_after>import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap 
from mpl_toolkits.basemap import __version__ as basemap_version
from matplotlib.patches import Polygon

# Tissot's Indicatrix (http://en.wikipedia.org/wiki/Tissot's_Indicatrix). 
# These diagrams illustrate the distortion inherent in all map projections.
# In conformal projections, where angles are conserved around every location, 
# the Tissot's indicatrix are all circles, with varying sizes. In equal-area 
# projections, where area proportions between objects are conserved, the 
# Tissot's indicatrix have all unit area, although their shapes and 
# orientations vary with location.

# requires Basemap version 0.99.1
if basemap_version < '0.99.1':
    raise SystemExit("this example requires Basemap version 0.99.1 or higher")

# create Basemap instances with several different projections
m1 = Basemap(llcrnrlon=-180,llcrnrlat=-80,urcrnrlon=180,urcrnrlat=80,
              projection='cyl')
m2 = Basemap(lon_0=-60,lat_0=45,projection='ortho')
# use WGS84 ellipsoid in this one.
m3 = Basemap(llcrnrlon=-180,llcrnrlat=-70,urcrnrlon=180,urcrnrlat=70,
              projection='merc',lat_ts=20,rsphere=(6378137.0,6356752.3142))
m4 = Basemap(lon_0=270,lat_0=90,boundinglat=10,projection='npstere')
m5 = Basemap(lon_0=270,lat_0=90,boundinglat=10,projection='nplaea')

for m in [m1,m2,m3,m4,m5]:
    # make a new figure.
    fig = plt.figure()
    ax = plt.gca()
    # draw "circles" at specified longitudes and latitudes.
    for parallel in range(-60,61,30):
        for meridian in range(-165,166,30):
            seg = m.tissot(meridian,parallel,6,100)
            poly = Polygon(seg,facecolor='green',zorder=10)
            ax.add_patch(poly)
{'fraction_non_alphanumeric': 0.10534168904804536, 'fraction_numerical': 0.06147418680990749, 'mean_word_length': 4.568106312292358, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4002429', 'n_tokens_mistral': 1303, 'n_tokens_neox': 1164, 'n_words': 285}