def testplot(self): pic = r'c:\temp\plot.png' x = xrange(20) ap.plot(x, out_file=pic, openit=False) y = xrange(50,70) ap.plot(x, y, pic, 'Main', 'X [m]', 'Y [m]', 'o', 'k', openit=False) os.remove(pic) with self.assertRaises(ap.ArcapiError): ap.plot(x, [1,2,3], pic, 'Main', 'X [m]', 'Y [m]', 'o', 'k', openit=False) pass
# allow to 'Add results of geoprocessing operations to the display'. ap.flyr(fc) # If you are not in ArcMap, you can still plot the feature class: ap.chart(fc) # You can plot values in a column once you read its values into Python. # Let's first find out what unique landuse categories there are in fc: ap.distinct(fc, 'landuse') # How many records of each species are there? x = ap.values(fc, 'landuse') ap.frequency(x) # Now plot zinc concentration for landuse 'W' z = ap.values(fc, 'zinc', '"landuse" = \'W\'', '"OBJECTID" ASC') ap.plot(z) # Arcapi now plots histograms too! ap.hist(z) # Show scatter plot of zinc against distance from the river # The 'order by' clause ensures values come in the same order d = ap.values(fc, 'dist_m', '"landuse" = \'W\'', '"OBJECTID" ASC') ap.plot(d, z, main='Zinc', xlab='Ditance', ylab='Zn', pch='o', color='k') # Suppose we want to add full labels indicating landuse at points. # This can come as a table, json, or other forms. Anyhow, we would # convert it to a Python dictionary. I simply re-typed help of 'sp': # http://cran.r-project.org/web/packages/sp/sp.pdf landuse2luse = { 'Aa': 'Agriculture/unspecified', 'Ab': 'Agr/sugar beetsm', 'Ag': 'Agr/small grains', 'Ah': 'Agr/??', 'Am': 'Agr/maize', 'B': 'woods',
# This will add the layer if your ArcMap's Geoprocessing options # allow to 'Add results of geoprocessing operations to the display'. ap.flyr(fc) # If you are not in ArcMap, you can still plot the feature class: ap.chart(fc) # You can plot values in a column once you read its values into Python. # Let's first find out what unique landuse categories there are in fc: ap.distinct(fc, 'landuse') # How many records of each species are there? x = ap.values(fc, 'landuse') ap.frequency(x) # Now plot zinc concentration for landuse 'W' z = ap.values(fc, 'zinc', '"landuse" = \'W\'', '"OBJECTID" ASC') ap.plot(z) # Show scatter plot of zinc against distance from the river # The 'order by' clause ensures values come in the same order d = ap.values(fc, 'dist_m', '"landuse" = \'W\'', '"OBJECTID" ASC') ap.plot(d, z, main='Zinc', xlab='Ditance', ylab='Zn', pch='o', color='k') # Suppose we want to add full labels indicating landuse at points. # This can come as a table, json, or other forms. Anyhow, we would # convert it to a Python dictionary. I simply re-typed help of 'sp': # http://cran.r-project.org/web/packages/sp/sp.pdf landuse2luse = { 'Aa': 'Agriculture/unspecified', 'Ab': 'Agr/sugar beetsm', 'Ag': 'Agr/small grains', 'Ah': 'Agr/??', 'Am': 'Agr/maize',