This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
other:python:jyp_steps [2018/08/01 09:47] jypeter [Quick Reference] Added a python 3 quick ref that looked nice |
other:python:jyp_steps [2018/09/04 12:45] jypeter [Matplotlib] |
||
---|---|---|---|
Line 120: | Line 120: | ||
[20, 21, -1, -1, 24, 25, 26, 27, 28, 29]]) | [20, 21, -1, -1, 24, 25, 26, 27, 28, 29]]) | ||
</code></note> | </code></note> | ||
+ | |||
+ | ==== Extra numpy information ==== | ||
+ | |||
+ | * More information about array indexing: | ||
+ | * Examples: | ||
+ | * {{ :other:python:indirect_indexing_2.py.txt |}}: Take a vertical slice in a 3D zyx array, along a varying y 'path' | ||
+ | * [[https://docs.scipy.org/doc/numpy/user/basics.indexing.html|Indexing]] (//index arrays//, //boolean index arrays//, //np.newaxis//, //Ellipsis//, //variable numbers of indices//, ...) | ||
+ | * [[https://docs.scipy.org/doc/numpy/user/quickstart.html#fancy-indexing-and-index-tricks|Fancy indexing]] and [[https://docs.scipy.org/doc/numpy/user/quickstart.html#the-ix-function|the ix_() function]] | ||
+ | * [[https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html|Indexing (in the numpy reference manual)]] | ||
+ | * [[https://docs.scipy.org/doc/numpy/reference/routines.indexing.html#routines-indexing|Indexing routines]] | ||
+ | * More information about arrays: | ||
+ | * [[https://docs.scipy.org/doc/numpy/reference/routines.array-creation.html#routines-array-creation|Array creation routines]] | ||
+ | * [[https://docs.scipy.org/doc/numpy/reference/routines.array-manipulation.html|Array manipulation routines]] | ||
+ | * [[https://docs.scipy.org/doc/numpy/reference/maskedarray.html|Masked arrays]] | ||
+ | * [[https://docs.scipy.org/doc/numpy/reference/routines.ma.html|Masked array operations]] | ||
+ | * [[https://docs.scipy.org/doc/numpy/user/misc.html#ieee-754-floating-point-special-values|Dealing with special numerical values]] (//Nan//, //inf//) | ||
+ | * If you know that your data has missing values, it is cleaner and safer to handle them with [[https://docs.scipy.org/doc/numpy/reference/maskedarray.html|masked arrays]]! | ||
+ | * [[https://docs.scipy.org/doc/numpy/user/misc.html#how-numpy-handles-numerical-exceptions|Handling numerical exceptions]] | ||
+ | * [[https://docs.scipy.org/doc/numpy/reference/routines.err.html|Floating point error handling]] | ||
===== cdms2 and netCDF4 ===== | ===== cdms2 and netCDF4 ===== | ||
Line 167: | Line 186: | ||
- a Matplotlib //Axis// is a plot inside a Figure... [[http://matplotlib.org/faq/usage_faq.html#parts-of-a-figure|More details]] | - a Matplotlib //Axis// is a plot inside a Figure... [[http://matplotlib.org/faq/usage_faq.html#parts-of-a-figure|More details]] | ||
- some examples are more //pythonic// (ie object oriented) than others, some example mix different styles of coding, all this can be confusing. Try to [[http://matplotlib.org/faq/usage_faq.html#coding-styles|use an object oriented way of doing things]]! | - some examples are more //pythonic// (ie object oriented) than others, some example mix different styles of coding, all this can be confusing. Try to [[http://matplotlib.org/faq/usage_faq.html#coding-styles|use an object oriented way of doing things]]! | ||
+ | - it may be hard to (remember how to) work with colors. Some examples from the [[|Gallery]] can help you! | ||
+ | * [[https://matplotlib.org/examples/pylab_examples/leftventricle_bulleye.html|leftventricle_bulleye.py]]: associating different types of colormaps to a plot and colorbar | ||
+ | * [[https://matplotlib.org/examples/api/colorbar_only.html|colorbar_only.py]]: the different types of colorbars (or plotting only a colorbar) | ||
+ | * [[https://matplotlib.org/examples/color/colormaps_reference.html|colormaps_reference.py]]: pre-defined colormaps | ||
+ | * [[https://matplotlib.org/examples/color/named_colors.html|named_colors.py]]: named colors | ||
+ | * More details about the colors below, in the [[#graphics_related_resources|Resources section]] | ||
- sometimes the results of the python/matplolib commands are displayed directly, sometimes not. It depends if you are in [[http://matplotlib.org/faq/usage_faq.html#what-is-interactive-mode|interactive or non-interactive]] mode | - sometimes the results of the python/matplolib commands are displayed directly, sometimes not. It depends if you are in [[http://matplotlib.org/faq/usage_faq.html#what-is-interactive-mode|interactive or non-interactive]] mode | ||
- the documentation may mention [[http://matplotlib.org/faq/usage_faq.html#what-is-a-backend|backends]]. What?? Basically, you use python commands to create a plot, and the backend is the //thing// that will render your plot on the screen or in a file (png, pdf, etc...) | - the documentation may mention [[http://matplotlib.org/faq/usage_faq.html#what-is-a-backend|backends]]. What?? Basically, you use python commands to create a plot, and the backend is the //thing// that will render your plot on the screen or in a file (png, pdf, etc...) | ||
Line 217: | Line 242: | ||
Help on //stack overflow//: [[https://stackoverflow.com/questions/tagged/cartopy|cartopy help]] | Help on //stack overflow//: [[https://stackoverflow.com/questions/tagged/cartopy|cartopy help]] | ||
+ | |||
+ | ===== Maps and projections resources ===== | ||
+ | |||
+ | ==== About projections ==== | ||
+ | |||
+ | * [[https://egsc.usgs.gov/isb//pubs/MapProjections/projections.html|Map projections from USGS poster]] | ||
+ | * [[https://pubs.usgs.gov/pp/1395/report.pdf|Map projections - A working manual (USGS)]] | ||
+ | |||
+ | ==== Libraries ==== | ||
+ | |||
+ | * Projections in vcs | ||
+ | * [[http://matplotlib.org/basemap/users/mapsetup.html|Projections in basemap]] | ||
+ | * [[https://scitools.org.uk/cartopy/docs/latest/crs/projections.html|Projections in cartopy]] | ||
+ | |||
===== 3D resources ===== | ===== 3D resources ===== |