You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(115) |
Aug
(120) |
Sep
(137) |
Oct
(170) |
Nov
(461) |
Dec
(263) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(120) |
Feb
(74) |
Mar
(35) |
Apr
(74) |
May
(245) |
Jun
(356) |
Jul
(240) |
Aug
(115) |
Sep
(78) |
Oct
(225) |
Nov
(98) |
Dec
(271) |
2009 |
Jan
(132) |
Feb
(84) |
Mar
(74) |
Apr
(56) |
May
(90) |
Jun
(79) |
Jul
(83) |
Aug
(296) |
Sep
(214) |
Oct
(76) |
Nov
(82) |
Dec
(66) |
2010 |
Jan
(46) |
Feb
(58) |
Mar
(51) |
Apr
(77) |
May
(58) |
Jun
(126) |
Jul
(128) |
Aug
(64) |
Sep
(50) |
Oct
(44) |
Nov
(48) |
Dec
(54) |
2011 |
Jan
(68) |
Feb
(52) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
1
(2) |
2
(5) |
3
(7) |
4
(1) |
5
(2) |
6
|
7
|
8
(2) |
9
(4) |
10
(1) |
11
|
12
(2) |
13
(3) |
14
|
15
(2) |
16
(2) |
17
|
18
|
19
(3) |
20
(5) |
21
(5) |
22
(1) |
23
(2) |
24
(1) |
25
(1) |
26
|
27
|
28
|
29
|
30
|
31
|
|
|
|
Revision: 8189 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8189&view=rev Author: leejjoon Date: 2010年03月12日 23:23:49 +0000 (2010年3月12日) Log Message: ----------- improve legend doc. Thanks to Alan Issac Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/axes.py trunk/matplotlib/lib/matplotlib/legend.py Modified: trunk/matplotlib/lib/matplotlib/axes.py =================================================================== --- trunk/matplotlib/lib/matplotlib/axes.py 2010年03月12日 19:27:47 UTC (rev 8188) +++ trunk/matplotlib/lib/matplotlib/axes.py 2010年03月12日 23:23:49 UTC (rev 8189) @@ -3964,9 +3964,11 @@ *title* : string the legend title - Padding and spacing between various elements use following keywords - parameters. The dimensions of these values are given as a fraction - of the fontsize. Values from rcParams will be used if None. + Padding and spacing between various elements use following + keywords parameters. These values are measure in font-size + units. E.g., a fontsize of 10 points and a handlelength=5 + implies a handlelength of 50 points. Values from rcParams + will be used if None. ================ ================================================================== Keyword Description Modified: trunk/matplotlib/lib/matplotlib/legend.py =================================================================== --- trunk/matplotlib/lib/matplotlib/legend.py 2010年03月12日 19:27:47 UTC (rev 8188) +++ trunk/matplotlib/lib/matplotlib/legend.py 2010年03月12日 23:23:49 UTC (rev 8189) @@ -166,9 +166,11 @@ bbox_transform the transform for the bbox. transAxes if None. ================ ================================================================== -The dimensions of pad and spacing are given as a fraction of the -_fontsize. Values from rcParams will be used if None. +The pad and spacing parameters are measure in font-size units. E.g., +a fontsize of 10 points and a handlelength=5 implies a handlelength of +50 points. Values from rcParams will be used if None. + Users can specify any arbitrary location for the legend using the *bbox_to_anchor* keyword argument. bbox_to_anchor can be an instance of BboxBase(or its derivatives) or a tuple of 2 or 4 floats. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8188 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8188&view=rev Author: jswhit Date: 2010年03月12日 19:27:47 +0000 (2010年3月12日) Log Message: ----------- revert pj_init.c to version in proj4 4.6.1. Modified Paths: -------------- trunk/toolkits/basemap/src/_geod.c trunk/toolkits/basemap/src/_proj.c trunk/toolkits/basemap/src/_pyproj.pxi trunk/toolkits/basemap/src/pj_init.c Modified: trunk/toolkits/basemap/src/_geod.c =================================================================== --- trunk/toolkits/basemap/src/_geod.c 2010年03月10日 14:14:52 UTC (rev 8187) +++ trunk/toolkits/basemap/src/_geod.c 2010年03月12日 19:27:47 UTC (rev 8188) @@ -1,11 +1,12 @@ -/* Generated by Cython 0.11.2 on Wed Nov 4 09:16:32 2009 */ +/* Generated by Cython 0.12.1 on Fri Mar 12 12:24:37 2010 */ #define PY_SSIZE_T_CLEAN #include "Python.h" #include "structmember.h" #ifndef Py_PYTHON_H #error Python headers needed to compile C extensions, please install development version of Python. -#endif +#else + #ifndef PY_LONG_LONG #define PY_LONG_LONG LONG_LONG #endif @@ -15,7 +16,9 @@ #if PY_VERSION_HEX < 0x02040000 #define METH_COEXIST 0 #define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type) + #define PyDict_Contains(d,o) PySequence_Contains(d,o) #endif + #if PY_VERSION_HEX < 0x02050000 typedef int Py_ssize_t; #define PY_SSIZE_T_MAX INT_MAX @@ -25,7 +28,9 @@ #define PyInt_AsSsize_t(o) PyInt_AsLong(o) #define PyNumber_Index(o) PyNumber_Int(o) #define PyIndex_Check(o) PyNumber_Check(o) + #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message) #endif + #if PY_VERSION_HEX < 0x02060000 #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt) #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) @@ -35,17 +40,17 @@ #define PyType_Modified(t) typedef struct { - void *buf; - PyObject *obj; - Py_ssize_t len; - Py_ssize_t itemsize; - int readonly; - int ndim; - char *format; - Py_ssize_t *shape; - Py_ssize_t *strides; - Py_ssize_t *suboffsets; - void *internal; + void *buf; + PyObject *obj; + Py_ssize_t len; + Py_ssize_t itemsize; + int readonly; + int ndim; + char *format; + Py_ssize_t *shape; + Py_ssize_t *strides; + Py_ssize_t *suboffsets; + void *internal; } Py_buffer; #define PyBUF_SIMPLE 0 @@ -59,22 +64,32 @@ #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES) #endif + #if PY_MAJOR_VERSION < 3 #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" #else #define __Pyx_BUILTIN_MODULE_NAME "builtins" #endif + #if PY_MAJOR_VERSION >= 3 #define Py_TPFLAGS_CHECKTYPES 0 #define Py_TPFLAGS_HAVE_INDEX 0 #endif + #if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3) #define Py_TPFLAGS_HAVE_NEWBUFFER 0 #endif + #if PY_MAJOR_VERSION >= 3 #define PyBaseString_Type PyUnicode_Type - #define PyString_Type PyBytes_Type - #define PyString_CheckExact PyBytes_CheckExact + #define PyString_Type PyUnicode_Type + #define PyString_CheckExact PyUnicode_CheckExact +#else + #define PyBytes_Type PyString_Type + #define PyBytes_CheckExact PyString_CheckExact +#endif + +#if PY_MAJOR_VERSION >= 3 #define PyInt_Type PyLong_Type #define PyInt_Check(op) PyLong_Check(op) #define PyInt_CheckExact(op) PyLong_CheckExact(op) @@ -89,13 +104,17 @@ #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) #else #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) - #define PyBytes_Type PyString_Type + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) + #endif + #if PY_MAJOR_VERSION >= 3 #define PyMethod_New(func, self, klass) PyInstanceMethod_New(func) #endif + #if !defined(WIN32) && !defined(MS_WINDOWS) #ifndef __stdcall #define __stdcall @@ -109,6 +128,7 @@ #else #define _USE_MATH_DEFINES #endif + #if PY_VERSION_HEX < 0x02050000 #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n))) #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a)) @@ -118,6 +138,7 @@ #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a)) #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n)) #endif + #if PY_VERSION_HEX < 0x02050000 #define __Pyx_NAMESTR(n) ((char *)(n)) #define __Pyx_DOCSTR(n) ((char *)(n)) @@ -136,24 +157,20 @@ #include "math.h" #include "geodesic.h" #include "proj_api.h" -#define __PYX_USE_C99_COMPLEX defined(_Complex_I) - -#ifdef __GNUC__ -#define INLINE __inline__ -#elif _WIN32 -#define INLINE __inline -#else -#define INLINE +#ifndef CYTHON_INLINE + #if defined(__GNUC__) + #define CYTHON_INLINE __inline__ + #elif defined(_MSC_VER) + #define CYTHON_INLINE __inline + #else + #define CYTHON_INLINE + #endif #endif -typedef struct {PyObject **p; char *s; long n; char is_unicode; char intern; char is_identifier;} __Pyx_StringTabEntry; /*proto*/ +typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/ - -static int __pyx_skip_dispatch = 0; - - /* Type Conversion Predeclarations */ #if PY_MAJOR_VERSION < 3 @@ -166,9 +183,12 @@ #define __Pyx_PyBytes_AsString PyBytes_AsString #endif +#define __Pyx_PyBytes_FromUString(s) __Pyx_PyBytes_FromString((char*)s) +#define __Pyx_PyBytes_AsUString(s) ((unsigned char*) __Pyx_PyBytes_AsString(s)) + #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) -static INLINE int __Pyx_PyObject_IsTrue(PyObject*); -static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); #if !defined(T_PYSSIZET) #if PY_VERSION_HEX < 0x02050000 @@ -185,6 +205,40 @@ #endif #endif + +#if !defined(T_ULONGLONG) +#define __Pyx_T_UNSIGNED_INT(x) \ + ((sizeof(x) == sizeof(unsigned char)) ? T_UBYTE : \ + ((sizeof(x) == sizeof(unsigned short)) ? T_USHORT : \ + ((sizeof(x) == sizeof(unsigned int)) ? T_UINT : \ + ((sizeof(x) == sizeof(unsigned long)) ? T_ULONG : -1)))) +#else +#define __Pyx_T_UNSIGNED_INT(x) \ + ((sizeof(x) == sizeof(unsigned char)) ? T_UBYTE : \ + ((sizeof(x) == sizeof(unsigned short)) ? T_USHORT : \ + ((sizeof(x) == sizeof(unsigned int)) ? T_UINT : \ + ((sizeof(x) == sizeof(unsigned long)) ? T_ULONG : \ + ((sizeof(x) == sizeof(unsigned PY_LONG_LONG)) ? T_ULONGLONG : -1))))) +#endif +#if !defined(T_LONGLONG) +#define __Pyx_T_SIGNED_INT(x) \ + ((sizeof(x) == sizeof(char)) ? T_BYTE : \ + ((sizeof(x) == sizeof(short)) ? T_SHORT : \ + ((sizeof(x) == sizeof(int)) ? T_INT : \ + ((sizeof(x) == sizeof(long)) ? T_LONG : -1)))) +#else +#define __Pyx_T_SIGNED_INT(x) \ + ((sizeof(x) == sizeof(char)) ? T_BYTE : \ + ((sizeof(x) == sizeof(short)) ? T_SHORT : \ + ((sizeof(x) == sizeof(int)) ? T_INT : \ + ((sizeof(x) == sizeof(long)) ? T_LONG : \ + ((sizeof(x) == sizeof(PY_LONG_LONG)) ? T_LONGLONG : -1))))) +#endif + +#define __Pyx_T_FLOATING(x) \ + ((sizeof(x) == sizeof(float)) ? T_FLOAT : \ + ((sizeof(x) == sizeof(double)) ? T_DOUBLE : -1)) + #if !defined(T_SIZET) #if !defined(T_ULONGLONG) #define T_SIZET \ @@ -198,9 +252,9 @@ #endif #endif -static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); -static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); -static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*); +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); +static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*); #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) @@ -222,6 +276,7 @@ static PyObject *__pyx_m; static PyObject *__pyx_b; static PyObject *__pyx_empty_tuple; +static PyObject *__pyx_empty_bytes; static int __pyx_lineno; static int __pyx_clineno = 0; static const char * __pyx_cfilenm= __FILE__; @@ -229,35 +284,69 @@ static const char **__pyx_f; -#ifdef CYTHON_REFNANNY -typedef struct { - void (*INCREF)(void*, PyObject*, int); - void (*DECREF)(void*, PyObject*, int); - void (*GOTREF)(void*, PyObject*, int); - void (*GIVEREF)(void*, PyObject*, int); - void* (*NewContext)(const char*, int, const char*); - void (*FinishContext)(void**); -} __Pyx_RefnannyAPIStruct; -static __Pyx_RefnannyAPIStruct *__Pyx_Refnanny = NULL; -#define __Pyx_ImportRefcountAPI(name) (__Pyx_RefnannyAPIStruct *) PyCObject_Import((char *)name, (char *)"RefnannyAPI") -#define __Pyx_INCREF(r) __Pyx_Refnanny->INCREF(__pyx_refchk, (PyObject *)(r), __LINE__) -#define __Pyx_DECREF(r) __Pyx_Refnanny->DECREF(__pyx_refchk, (PyObject *)(r), __LINE__) -#define __Pyx_GOTREF(r) __Pyx_Refnanny->GOTREF(__pyx_refchk, (PyObject *)(r), __LINE__) -#define __Pyx_GIVEREF(r) __Pyx_Refnanny->GIVEREF(__pyx_refchk, (PyObject *)(r), __LINE__) -#define __Pyx_XDECREF(r) if((r) == NULL) ; else __Pyx_DECREF(r) -#define __Pyx_SetupRefcountContext(name) void* __pyx_refchk = __Pyx_Refnanny->NewContext((name), __LINE__, __FILE__) -#define __Pyx_FinishRefcountContext() __Pyx_Refnanny->FinishContext(&__pyx_refchk) +/* Type declarations */ + +/* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":5 + * include "_pyproj.pxi" + * + * cdef class Geod: # <<<<<<<<<<<<<< + * cdef GEODESIC_T geodesic_t + * cdef public object geodstring + */ + +struct __pyx_obj_5_geod_Geod { + PyObject_HEAD + GEODESIC_T geodesic_t; + PyObject *geodstring; + PyObject *proj_version; + char *geodinitstring; +}; + +#ifndef CYTHON_REFNANNY + #define CYTHON_REFNANNY 0 +#endif + +#if CYTHON_REFNANNY + typedef struct { + void (*INCREF)(void*, PyObject*, int); + void (*DECREF)(void*, PyObject*, int); + void (*GOTREF)(void*, PyObject*, int); + void (*GIVEREF)(void*, PyObject*, int); + void* (*SetupContext)(const char*, int, const char*); + void (*FinishContext)(void**); + } __Pyx_RefNannyAPIStruct; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; + static __Pyx_RefNannyAPIStruct * __Pyx_RefNannyImportAPI(const char *modname) { + PyObject *m = NULL, *p = NULL; + void *r = NULL; + m = PyImport_ImportModule((char *)modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); + end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; + } + #define __Pyx_RefNannySetupContext(name) void *__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) + #define __Pyx_RefNannyFinishContext() __Pyx_RefNanny->FinishContext(&__pyx_refnanny) + #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r);} } while(0) #else -#define __Pyx_INCREF(r) Py_INCREF(r) -#define __Pyx_DECREF(r) Py_DECREF(r) -#define __Pyx_GOTREF(r) -#define __Pyx_GIVEREF(r) -#define __Pyx_XDECREF(r) Py_XDECREF(r) -#define __Pyx_SetupRefcountContext(name) -#define __Pyx_FinishRefcountContext() + #define __Pyx_RefNannySetupContext(name) + #define __Pyx_RefNannyFinishContext() + #define __Pyx_INCREF(r) Py_INCREF(r) + #define __Pyx_DECREF(r) Py_DECREF(r) + #define __Pyx_GOTREF(r) + #define __Pyx_GIVEREF(r) + #define __Pyx_XDECREF(r) Py_XDECREF(r) #endif /* CYTHON_REFNANNY */ -#define __Pyx_XGIVEREF(r) if((r) == NULL) ; else __Pyx_GIVEREF(r) -#define __Pyx_XGOTREF(r) if((r) == NULL) ; else __Pyx_GOTREF(r) +#define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);} } while(0) +#define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r);} } while(0) static void __Pyx_RaiseDoubleKeywordsError( const char* func_name, PyObject* kw_name); /*proto*/ @@ -271,150 +360,154 @@ static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/ +static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ +static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ + static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ -static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ -static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ +static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *); -static INLINE int __Pyx_StrEq(const char *, const char *); /*proto*/ +static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *); -static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *); +static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *); -static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *); +static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *); -static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *); +static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *); -static INLINE char __Pyx_PyInt_AsChar(PyObject *); +static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *); -static INLINE short __Pyx_PyInt_AsShort(PyObject *); +static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *); -static INLINE int __Pyx_PyInt_AsInt(PyObject *); +static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *); -static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *); +static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *); -static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *); +static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *); -static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *); +static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *); -static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *); +static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *); -static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *); +static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *); -static INLINE long __Pyx_PyInt_AsLong(PyObject *); +static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *); -static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *); +static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); -static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *); - -static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); - static void __Pyx_AddTraceback(const char *funcname); /*proto*/ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ - -/* Type declarations */ - -/* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":5 - * include "_pyproj.pxi" - * - * cdef class Geod: # <<<<<<<<<<<<<< - * cdef GEODESIC_T geodesic_t - * cdef public object geodstring - */ - -struct __pyx_obj_5_geod_Geod { - PyObject_HEAD - GEODESIC_T geodesic_t; - PyObject *geodstring; - PyObject *proj_version; - char *geodinitstring; -}; /* Module declarations from _geod */ static PyTypeObject *__pyx_ptype_5_geod_Geod = 0; -static PyObject *__pyx_k_12 = 0; -static PyObject *__pyx_k_13 = 0; -static PyObject *__pyx_k_14 = 0; #define __Pyx_MODULE_NAME "_geod" int __pyx_module_is_main__geod = 0; /* Implementation of _geod */ -static char __pyx_k_11[] = "1.8.6"; -static char __pyx_k___main__[] = "__main__"; -static PyObject *__pyx_kp___main__; -static char __pyx_k___cinit__[] = "__cinit__"; -static PyObject *__pyx_kp___cinit__; -static char __pyx_k___reduce__[] = "__reduce__"; -static PyObject *__pyx_kp___reduce__; -static char __pyx_k__fwd[] = "_fwd"; -static PyObject *__pyx_kp__fwd; -static char __pyx_k__inv[] = "_inv"; -static PyObject *__pyx_kp__inv; -static char __pyx_k__npts[] = "_npts"; -static PyObject *__pyx_kp__npts; -static char __pyx_k_geodstring[] = "geodstring"; -static PyObject *__pyx_kp_geodstring; -static char __pyx_k_lons[] = "lons"; -static PyObject *__pyx_kp_lons; -static char __pyx_k_lats[] = "lats"; -static PyObject *__pyx_kp_lats; -static char __pyx_k_az[] = "az"; -static PyObject *__pyx_kp_az; -static char __pyx_k_dist[] = "dist"; -static PyObject *__pyx_kp_dist; -static char __pyx_k_radians[] = "radians"; -static PyObject *__pyx_kp_radians; -static char __pyx_k_1[] = "lons1"; -static PyObject *__pyx_kp_1; -static char __pyx_k_2[] = "lats1"; -static PyObject *__pyx_kp_2; -static char __pyx_k_3[] = "lons2"; -static PyObject *__pyx_kp_3; -static char __pyx_k_4[] = "lats2"; -static PyObject *__pyx_kp_4; -static char __pyx_k_5[] = "lon1"; -static PyObject *__pyx_kp_5; -static char __pyx_k_6[] = "lat1"; -static PyObject *__pyx_kp_6; -static char __pyx_k_7[] = "lon2"; -static PyObject *__pyx_kp_7; -static char __pyx_k_8[] = "lat2"; -static PyObject *__pyx_kp_8; -static char __pyx_k_npts[] = "npts"; -static PyObject *__pyx_kp_npts; -static char __pyx_k_math[] = "math"; -static PyObject *__pyx_kp_math; -static char __pyx_k_9[] = "_dg2rad"; -static PyObject *__pyx_kp_9; -static char __pyx_k_degrees[] = "degrees"; -static PyObject *__pyx_kp_degrees; -static char __pyx_k_10[] = "_rad2dg"; -static PyObject *__pyx_kp_10; -static char __pyx_k__doublesize[] = "_doublesize"; -static PyObject *__pyx_kp__doublesize; -static char __pyx_k___version__[] = "__version__"; -static PyObject *__pyx_kp___version__; -static char __pyx_k_RuntimeError[] = "RuntimeError"; -static PyObject *__pyx_kp_RuntimeError; -static char __pyx_k___class__[] = "__class__"; -static PyObject *__pyx_kp___class__; -static char __pyx_k_ValueError[] = "ValueError"; -static PyObject *__pyx_kp_ValueError; -static PyObject *__pyx_kp_11; static PyObject *__pyx_builtin_RuntimeError; static PyObject *__pyx_builtin_ValueError; -static PyObject *__pyx_kp_15; -static PyObject *__pyx_kp_16; -static char __pyx_k_15[] = "Buffer lengths not the same"; -static char __pyx_k_16[] = "undefined inverse geodesic (may be an antipodal point)"; -static PyObject *__pyx_kp_17; -static PyObject *__pyx_kp_18; -static PyObject *__pyx_kp_19; -static char __pyx_k_17[] = "Buffer lengths not the same"; -static char __pyx_k_18[] = "undefined inverse geodesic (may be an antipodal point)"; -static char __pyx_k_19[] = "undefined inverse geodesic (may be an antipodal point)"; +static char __pyx_k_2[] = "Buffer lengths not the same"; +static char __pyx_k_3[] = "undefined inverse geodesic (may be an antipodal point)"; +static char __pyx_k_6[] = "1.8.7"; +static char __pyx_k_7[] = "Geod.__reduce__ (line 22)"; +static char __pyx_k_8[] = "Geod._fwd (line 26)"; +static char __pyx_k_9[] = "Geod._inv (line 82)"; +static char __pyx_k_10[] = "Geod._npts (line 133)"; +static char __pyx_k__u[] = "u"; +static char __pyx_k__v[] = "v"; +static char __pyx_k__az[] = "az"; +static char __pyx_k__p1[] = "p1"; +static char __pyx_k__p2[] = "p2"; +static char __pyx_k__DIST[] = "DIST"; +static char __pyx_k__Geod[] = "Geod"; +static char __pyx_k___fwd[] = "_fwd"; +static char __pyx_k___inv[] = "_inv"; +static char __pyx_k__dist[] = "dist"; +static char __pyx_k__lat1[] = "lat1"; +static char __pyx_k__lat2[] = "lat2"; +static char __pyx_k__lats[] = "lats"; +static char __pyx_k__lon1[] = "lon1"; +static char __pyx_k__lon2[] = "lon2"; +static char __pyx_k__lons[] = "lons"; +static char __pyx_k__math[] = "math"; +static char __pyx_k__npts[] = "npts"; +static char __pyx_k___npts[] = "_npts"; +static char __pyx_k__lats1[] = "lats1"; +static char __pyx_k__lats2[] = "lats2"; +static char __pyx_k__lons1[] = "lons1"; +static char __pyx_k__lons2[] = "lons2"; +static char __pyx_k__ALPHA12[] = "ALPHA12"; +static char __pyx_k__ALPHA21[] = "ALPHA21"; +static char __pyx_k___dg2rad[] = "_dg2rad"; +static char __pyx_k___rad2dg[] = "_rad2dg"; +static char __pyx_k__degrees[] = "degrees"; +static char __pyx_k__radians[] = "radians"; +static char __pyx_k____main__[] = "__main__"; +static char __pyx_k____test__[] = "__test__"; +static char __pyx_k____class__[] = "__class__"; +static char __pyx_k__ValueError[] = "ValueError"; +static char __pyx_k____reduce__[] = "__reduce__"; +static char __pyx_k__geodesic_t[] = "geodesic_t"; +static char __pyx_k__geodstring[] = "geodstring"; +static char __pyx_k____version__[] = "__version__"; +static char __pyx_k___doublesize[] = "_doublesize"; +static char __pyx_k__RuntimeError[] = "RuntimeError"; +static char __pyx_k__proj_version[] = "proj_version"; +static char __pyx_k__geodinitstring[] = "geodinitstring"; +static PyObject *__pyx_kp_u_10; +static PyObject *__pyx_kp_s_2; +static PyObject *__pyx_kp_s_3; +static PyObject *__pyx_kp_s_6; +static PyObject *__pyx_kp_u_7; +static PyObject *__pyx_kp_u_8; +static PyObject *__pyx_kp_u_9; +static PyObject *__pyx_n_s__ALPHA12; +static PyObject *__pyx_n_s__ALPHA21; +static PyObject *__pyx_n_s__DIST; +static PyObject *__pyx_n_s__Geod; +static PyObject *__pyx_n_s__RuntimeError; +static PyObject *__pyx_n_s__ValueError; +static PyObject *__pyx_n_s____class__; +static PyObject *__pyx_n_s____main__; +static PyObject *__pyx_n_s____reduce__; +static PyObject *__pyx_n_s____test__; +static PyObject *__pyx_n_s____version__; +static PyObject *__pyx_n_s___dg2rad; +static PyObject *__pyx_n_s___doublesize; +static PyObject *__pyx_n_s___fwd; +static PyObject *__pyx_n_s___inv; +static PyObject *__pyx_n_s___npts; +static PyObject *__pyx_n_s___rad2dg; +static PyObject *__pyx_n_s__az; +static PyObject *__pyx_n_s__degrees; +static PyObject *__pyx_n_s__dist; +static PyObject *__pyx_n_s__geodesic_t; +static PyObject *__pyx_n_s__geodinitstring; +static PyObject *__pyx_n_s__geodstring; +static PyObject *__pyx_n_s__lat1; +static PyObject *__pyx_n_s__lat2; +static PyObject *__pyx_n_s__lats; +static PyObject *__pyx_n_s__lats1; +static PyObject *__pyx_n_s__lats2; +static PyObject *__pyx_n_s__lon1; +static PyObject *__pyx_n_s__lon2; +static PyObject *__pyx_n_s__lons; +static PyObject *__pyx_n_s__lons1; +static PyObject *__pyx_n_s__lons2; +static PyObject *__pyx_n_s__math; +static PyObject *__pyx_n_s__npts; +static PyObject *__pyx_n_s__p1; +static PyObject *__pyx_n_s__p2; +static PyObject *__pyx_n_s__proj_version; +static PyObject *__pyx_n_s__radians; +static PyObject *__pyx_n_s__u; +static PyObject *__pyx_n_s__v; +static PyObject *__pyx_k_1; +static PyObject *__pyx_k_4; +static PyObject *__pyx_k_5; -/* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":11 +/* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":11 * cdef char *geodinitstring * * def __new__(self, geodstring): # <<<<<<<<<<<<<< @@ -430,8 +523,8 @@ int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_geodstring,0}; - __Pyx_SetupRefcountContext("__cinit__"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__geodstring,0}; + __Pyx_RefNannySetupContext("__cinit__"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[1] = {0}; @@ -442,7 +535,7 @@ } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_geodstring); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__geodstring); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; } @@ -462,8 +555,10 @@ __Pyx_AddTraceback("_geod.Geod.__cinit__"); return -1; __pyx_L4_argument_unpacking_done:; + __Pyx_INCREF((PyObject *)__pyx_v_self); + __Pyx_INCREF(__pyx_v_geodstring); - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":14 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":14 * cdef GEODESIC_T GEOD_T * # setup geod initialization string. * self.geodstring = geodstring # <<<<<<<<<<<<<< @@ -476,7 +571,7 @@ __Pyx_DECREF(((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodstring); ((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodstring = __pyx_v_geodstring; - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":15 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":15 * # setup geod initialization string. * self.geodstring = geodstring * self.geodinitstring = PyString_AsString(self.geodstring) # <<<<<<<<<<<<<< @@ -485,7 +580,7 @@ */ ((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodinitstring = PyString_AsString(((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodstring); - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":17 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":17 * self.geodinitstring = PyString_AsString(self.geodstring) * # initialize projection * self.geodesic_t = GEOD_init_plus(self.geodinitstring, &GEOD_T)[0] # <<<<<<<<<<<<<< @@ -494,7 +589,7 @@ */ ((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodesic_t = (GEOD_init_plus(((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodinitstring, (&__pyx_v_GEOD_T))[0]); - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":18 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":18 * # initialize projection * self.geodesic_t = GEOD_init_plus(self.geodinitstring, &GEOD_T)[0] * if pj_errno != 0: # <<<<<<<<<<<<<< @@ -504,7 +599,7 @@ __pyx_t_1 = (pj_errno != 0); if (__pyx_t_1) { - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":19 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":19 * self.geodesic_t = GEOD_init_plus(self.geodinitstring, &GEOD_T)[0] * if pj_errno != 0: * raise RuntimeError(pj_strerrno(pj_errno)) # <<<<<<<<<<<<<< @@ -512,15 +607,15 @@ * */ __pyx_t_2 = __Pyx_PyBytes_FromString(pj_strerrno(pj_errno)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_2)); + __Pyx_GIVEREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_2, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -528,7 +623,7 @@ } __pyx_L6:; - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":20 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":20 * if pj_errno != 0: * raise RuntimeError(pj_strerrno(pj_errno)) * self.proj_version = PJ_VERSION/100. # <<<<<<<<<<<<<< @@ -551,11 +646,13 @@ __Pyx_AddTraceback("_geod.Geod.__cinit__"); __pyx_r = -1; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_DECREF(__pyx_v_geodstring); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":22 +/* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":22 * self.proj_version = PJ_VERSION/100. * * def __reduce__(self): # <<<<<<<<<<<<<< @@ -570,9 +667,9 @@ PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - __Pyx_SetupRefcountContext("__reduce__"); + __Pyx_RefNannySetupContext("__reduce__"); - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":24 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":24 * def __reduce__(self): * """special method that allows pyproj.Geod instance to be pickled""" * return (self.__class__,(self.geodstring,)) # <<<<<<<<<<<<<< @@ -580,22 +677,22 @@ * def _fwd(self, object lons, object lats, object az, object dist, radians=False): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_kp___class__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s____class__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodstring); PyTuple_SET_ITEM(__pyx_t_2, 0, ((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodstring); __Pyx_GIVEREF(((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodstring); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); + __Pyx_GOTREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_t_2)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_2)); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; - __pyx_r = ((PyObject *)__pyx_t_3); + __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; @@ -609,11 +706,11 @@ __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":26 +/* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":26 * return (self.__class__,(self.geodstring,)) * * def _fwd(self, object lons, object lats, object az, object dist, radians=False): # <<<<<<<<<<<<<< @@ -644,19 +741,19 @@ void *__pyx_v_azdat; void *__pyx_v_distdat; PyObject *__pyx_r = NULL; - PyObject *__pyx_1 = 0; int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; - Py_ssize_t __pyx_t_5; - double __pyx_t_6; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_lons,&__pyx_kp_lats,&__pyx_kp_az,&__pyx_kp_dist,&__pyx_kp_radians,0}; - __Pyx_SetupRefcountContext("_fwd"); + PyObject *__pyx_t_5 = NULL; + Py_ssize_t __pyx_t_6; + double __pyx_t_7; + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__lons,&__pyx_n_s__lats,&__pyx_n_s__az,&__pyx_n_s__dist,&__pyx_n_s__radians,0}; + __Pyx_RefNannySetupContext("_fwd"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[5] = {0,0,0,0,0}; - values[4] = __pyx_k_12; + values[4] = __pyx_k_1; switch (PyTuple_GET_SIZE(__pyx_args)) { case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); @@ -668,30 +765,30 @@ } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_lons); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lons); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_lats); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lats); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_fwd", 0, 4, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: - values[2] = PyDict_GetItem(__pyx_kwds, __pyx_kp_az); + values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__az); if (likely(values[2])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_fwd", 0, 4, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 3: - values[3] = PyDict_GetItem(__pyx_kwds, __pyx_kp_dist); + values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dist); if (likely(values[3])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_fwd", 0, 4, 5, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 4: if (kw_args > 1) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_radians); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__radians); if (unlikely(value)) { values[4] = value; kw_args--; } } } @@ -704,7 +801,7 @@ __pyx_v_dist = values[3]; __pyx_v_radians = values[4]; } else { - __pyx_v_radians = __pyx_k_12; + __pyx_v_radians = __pyx_k_1; switch (PyTuple_GET_SIZE(__pyx_args)) { case 5: __pyx_v_radians = PyTuple_GET_ITEM(__pyx_args, 4); @@ -724,8 +821,14 @@ __Pyx_AddTraceback("_geod.Geod._fwd"); return NULL; __pyx_L4_argument_unpacking_done:; + __Pyx_INCREF((PyObject *)__pyx_v_self); + __Pyx_INCREF(__pyx_v_lons); + __Pyx_INCREF(__pyx_v_lats); + __Pyx_INCREF(__pyx_v_az); + __Pyx_INCREF(__pyx_v_dist); + __Pyx_INCREF(__pyx_v_radians); - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":37 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":37 * cdef void *londata, *latdata, *azdat, *distdat * # if buffer api is supported, get pointer to data buffers. * if PyObject_AsWriteBuffer(lons, &londata, &buflenlons) <> 0: # <<<<<<<<<<<<<< @@ -735,7 +838,7 @@ __pyx_t_1 = (PyObject_AsWriteBuffer(__pyx_v_lons, (&__pyx_v_londata), (&__pyx_v_buflenlons)) != 0); if (__pyx_t_1) { - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":38 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":38 * # if buffer api is supported, get pointer to data buffers. * if PyObject_AsWriteBuffer(lons, &londata, &buflenlons) <> 0: * raise RuntimeError # <<<<<<<<<<<<<< @@ -748,7 +851,7 @@ } __pyx_L6:; - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":39 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":39 * if PyObject_AsWriteBuffer(lons, &londata, &buflenlons) <> 0: * raise RuntimeError * if PyObject_AsWriteBuffer(lats, &latdata, &buflenlats) <> 0: # <<<<<<<<<<<<<< @@ -758,7 +861,7 @@ __pyx_t_1 = (PyObject_AsWriteBuffer(__pyx_v_lats, (&__pyx_v_latdata), (&__pyx_v_buflenlats)) != 0); if (__pyx_t_1) { - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":40 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":40 * raise RuntimeError * if PyObject_AsWriteBuffer(lats, &latdata, &buflenlats) <> 0: * raise RuntimeError # <<<<<<<<<<<<<< @@ -771,7 +874,7 @@ } __pyx_L7:; - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":41 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":41 * if PyObject_AsWriteBuffer(lats, &latdata, &buflenlats) <> 0: * raise RuntimeError * if PyObject_AsWriteBuffer(az, &azdat, &buflenaz) <> 0: # <<<<<<<<<<<<<< @@ -781,7 +884,7 @@ __pyx_t_1 = (PyObject_AsWriteBuffer(__pyx_v_az, (&__pyx_v_azdat), (&__pyx_v_buflenaz)) != 0); if (__pyx_t_1) { - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":42 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":42 * raise RuntimeError * if PyObject_AsWriteBuffer(az, &azdat, &buflenaz) <> 0: * raise RuntimeError # <<<<<<<<<<<<<< @@ -794,7 +897,7 @@ } __pyx_L8:; - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":43 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":43 * if PyObject_AsWriteBuffer(az, &azdat, &buflenaz) <> 0: * raise RuntimeError * if PyObject_AsWriteBuffer(dist, &distdat, &buflend) <> 0: # <<<<<<<<<<<<<< @@ -804,7 +907,7 @@ __pyx_t_1 = (PyObject_AsWriteBuffer(__pyx_v_dist, (&__pyx_v_distdat), (&__pyx_v_buflend)) != 0); if (__pyx_t_1) { - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":44 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":44 * raise RuntimeError * if PyObject_AsWriteBuffer(dist, &distdat, &buflend) <> 0: * raise RuntimeError # <<<<<<<<<<<<<< @@ -817,7 +920,7 @@ } __pyx_L9:; - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":46 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":46 * raise RuntimeError * # process data in buffer * if not buflenlons == buflenlats == buflenaz == buflend: # <<<<<<<<<<<<<< @@ -834,7 +937,7 @@ __pyx_t_2 = (!__pyx_t_1); if (__pyx_t_2) { - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":47 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":47 * # process data in buffer * if not buflenlons == buflenlats == buflenaz == buflend: * raise RuntimeError("Buffer lengths not the same") # <<<<<<<<<<<<<< @@ -842,13 +945,13 @@ * lonsdata = <double *>londata */ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - __Pyx_INCREF(__pyx_kp_15); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_15); - __Pyx_GIVEREF(__pyx_kp_15); - __pyx_t_4 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(((PyObject *)__pyx_kp_s_2)); + PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_s_2)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_2)); + __pyx_t_4 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_4, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -856,7 +959,7 @@ } __pyx_L10:; - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":48 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":48 * if not buflenlons == buflenlats == buflenaz == buflend: * raise RuntimeError("Buffer lengths not the same") * ndim = buflenlons/_doublesize # <<<<<<<<<<<<<< @@ -865,17 +968,17 @@ */ __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_buflenlons); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp__doublesize); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_t_4, __pyx_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s___doublesize); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyNumber_Divide(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_3); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_ndim = __pyx_t_5; + __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_t_5); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_ndim = __pyx_t_6; - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":49 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":49 * raise RuntimeError("Buffer lengths not the same") * ndim = buflenlons/_doublesize * lonsdata = <double *>londata # <<<<<<<<<<<<<< @@ -884,7 +987,7 @@ */ __pyx_v_lonsdata = ((double *)__pyx_v_londata); - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":50 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":50 * ndim = buflenlons/_doublesize * lonsdata = <double *>londata * latsdata = <double *>latdata # <<<<<<<<<<<<<< @@ -893,7 +996,7 @@ */ __pyx_v_latsdata = ((double *)__pyx_v_latdata); - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":51 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":51 * lonsdata = <double *>londata * latsdata = <double *>latdata * azdata = <double *>azdat # <<<<<<<<<<<<<< @@ -902,7 +1005,7 @@ */ __pyx_v_azdata = ((double *)__pyx_v_azdat); - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":52 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":52 * latsdata = <double *>latdata * azdata = <double *>azdat * distdata = <double *>distdat # <<<<<<<<<<<<<< @@ -911,17 +1014,17 @@ */ __pyx_v_distdata = ((double *)__pyx_v_distdat); - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":53 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":53 * azdata = <double *>azdat * distdata = <double *>distdat * for i from 0 <= i < ndim: # <<<<<<<<<<<<<< * if radians: * self.geodesic_t.p1.v = lonsdata[i] */ - __pyx_t_5 = __pyx_v_ndim; - for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_5; __pyx_v_i++) { + __pyx_t_6 = __pyx_v_ndim; + for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_6; __pyx_v_i++) { - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":54 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":54 * distdata = <double *>distdat * for i from 0 <= i < ndim: * if radians: # <<<<<<<<<<<<<< @@ -931,7 +1034,7 @@ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_radians); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__pyx_t_2) { - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":55 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":55 * for i from 0 <= i < ndim: * if radians: * self.geodesic_t.p1.v = lonsdata[i] # <<<<<<<<<<<<<< @@ -940,7 +1043,7 @@ */ ((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodesic_t.p1.v = (__pyx_v_lonsdata[__pyx_v_i]); - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":56 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":56 * if radians: * self.geodesic_t.p1.v = lonsdata[i] * self.geodesic_t.p1.u = latsdata[i] # <<<<<<<<<<<<<< @@ -949,7 +1052,7 @@ */ ((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodesic_t.p1.u = (__pyx_v_latsdata[__pyx_v_i]); - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":57 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":57 * self.geodesic_t.p1.v = lonsdata[i] * self.geodesic_t.p1.u = latsdata[i] * self.geodesic_t.ALPHA12 = azdata[i] # <<<<<<<<<<<<<< @@ -958,7 +1061,7 @@ */ ((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodesic_t.ALPHA12 = (__pyx_v_azdata[__pyx_v_i]); - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":58 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":58 * self.geodesic_t.p1.u = latsdata[i] * self.geodesic_t.ALPHA12 = azdata[i] * self.geodesic_t.DIST = distdata[i] # <<<<<<<<<<<<<< @@ -970,64 +1073,64 @@ } /*else*/ { - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":60 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":60 * self.geodesic_t.DIST = distdata[i] * else: * self.geodesic_t.p1.v = _dg2rad*lonsdata[i] # <<<<<<<<<<<<<< * self.geodesic_t.p1.u = _dg2rad*latsdata[i] * self.geodesic_t.ALPHA12 = _dg2rad*azdata[i] */ - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_9); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); + __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s___dg2rad); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyFloat_FromDouble((__pyx_v_lonsdata[__pyx_v_i])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyNumber_Multiply(__pyx_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyNumber_Multiply(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - ((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodesic_t.p1.v = __pyx_t_6; + ((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodesic_t.p1.v = __pyx_t_7; - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":61 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":61 * else: * self.geodesic_t.p1.v = _dg2rad*lonsdata[i] * self.geodesic_t.p1.u = _dg2rad*latsdata[i] # <<<<<<<<<<<<<< * self.geodesic_t.ALPHA12 = _dg2rad*azdata[i] * self.geodesic_t.DIST = distdata[i] */ - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_9); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __pyx_t_4 = PyFloat_FromDouble((__pyx_v_latsdata[__pyx_v_i])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s___dg2rad); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyNumber_Multiply(__pyx_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyFloat_FromDouble((__pyx_v_latsdata[__pyx_v_i])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_t_5 = PyNumber_Multiply(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - ((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodesic_t.p1.u = __pyx_t_6; + __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + ((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodesic_t.p1.u = __pyx_t_7; - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":62 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":62 * self.geodesic_t.p1.v = _dg2rad*lonsdata[i] * self.geodesic_t.p1.u = _dg2rad*latsdata[i] * self.geodesic_t.ALPHA12 = _dg2rad*azdata[i] # <<<<<<<<<<<<<< * self.geodesic_t.DIST = distdata[i] * geod_pre(&self.geodesic_t) */ - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_9); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); + __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s___dg2rad); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyFloat_FromDouble((__pyx_v_azdata[__pyx_v_i])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyNumber_Multiply(__pyx_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyNumber_Multiply(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - ((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodesic_t.ALPHA12 = __pyx_t_6; + ((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodesic_t.ALPHA12 = __pyx_t_7; - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":63 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":63 * self.geodesic_t.p1.u = _dg2rad*latsdata[i] * self.geodesic_t.ALPHA12 = _dg2rad*azdata[i] * self.geodesic_t.DIST = distdata[i] # <<<<<<<<<<<<<< @@ -1038,7 +1141,7 @@ } __pyx_L13:; - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":64 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":64 * self.geodesic_t.ALPHA12 = _dg2rad*azdata[i] * self.geodesic_t.DIST = distdata[i] * geod_pre(&self.geodesic_t) # <<<<<<<<<<<<<< @@ -1047,7 +1150,7 @@ */ geod_pre((&((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodesic_t)); - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":65 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":65 * self.geodesic_t.DIST = distdata[i] * geod_pre(&self.geodesic_t) * if pj_errno != 0: # <<<<<<<<<<<<<< @@ -1057,7 +1160,7 @@ __pyx_t_2 = (pj_errno != 0); if (__pyx_t_2) { - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":66 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":66 * geod_pre(&self.geodesic_t) * if pj_errno != 0: * raise RuntimeError(pj_strerrno(pj_errno)) # <<<<<<<<<<<<<< @@ -1065,15 +1168,15 @@ * if pj_errno != 0: */ __pyx_t_4 = __Pyx_PyBytes_FromString(pj_strerrno(pj_errno)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(((PyObject *)__pyx_t_4)); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4)); + __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; - __pyx_t_4 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_4, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -1081,7 +1184,7 @@ } __pyx_L14:; - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":67 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":67 * if pj_errno != 0: * raise RuntimeError(pj_strerrno(pj_errno)) * geod_for(&self.geodesic_t) # <<<<<<<<<<<<<< @@ -1090,7 +1193,7 @@ */ geod_for((&((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodesic_t)); - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":68 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":68 * raise RuntimeError(pj_strerrno(pj_errno)) * geod_for(&self.geodesic_t) * if pj_errno != 0: # <<<<<<<<<<<<<< @@ -1100,7 +1203,7 @@ __pyx_t_2 = (pj_errno != 0); if (__pyx_t_2) { - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":69 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":69 * geod_for(&self.geodesic_t) * if pj_errno != 0: * raise RuntimeError(pj_strerrno(pj_errno)) # <<<<<<<<<<<<<< @@ -1108,15 +1211,15 @@ * if self.geodesic_t.ALPHA21 != self.geodesic_t.ALPHA21: */ __pyx_t_4 = __Pyx_PyBytes_FromString(pj_strerrno(pj_errno)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(((PyObject *)__pyx_t_4)); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4)); + __Pyx_GIVEREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; - __pyx_t_4 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_4, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -1124,7 +1227,7 @@ } __pyx_L15:; - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":71 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":71 * raise RuntimeError(pj_strerrno(pj_errno)) * # check for NaN. * if self.geodesic_t.ALPHA21 != self.geodesic_t.ALPHA21: # <<<<<<<<<<<<<< @@ -1134,7 +1237,7 @@ __pyx_t_2 = (((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodesic_t.ALPHA21 != ((struct __pyx_obj_5_geod_Geod *)__pyx_v_self)->geodesic_t.ALPHA21); if (__pyx_t_2) { - /* "/Volumes/User/jwhitaker/matplotlib/basemap/src/_geod.pyx":72 + /* "/Volumes/User/jwhitaker/python/pyproj/_geod.pyx":72 * # check for NaN. * if self.geodesic_t.ALPHA21 != self.geodesic_t.ALPHA21: * raise ValueError('undefined inverse geodesic (may be an antipodal point)') # <<<<<<<<<<<<<< @@ -1142,13 +1245,13 @@ * lonsdata[i] = self.geodesic_t.p2.v */ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - __Pyx_INCREF(__pyx_kp_16); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_16); - __Pyx_GIVEREF(__pyx_kp_16); - __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(((PyObject *)__pyx_kp_s_3)); ... [truncated message content]
Revision: 8187 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8187&view=rev Author: mdboom Date: 2010年03月10日 14:14:52 +0000 (2010年3月10日) Log Message: ----------- Make LineBuilder example more complete as a stand-alone script (suggested by David Arnold) Modified Paths: -------------- trunk/matplotlib/doc/users/event_handling.rst Modified: trunk/matplotlib/doc/users/event_handling.rst =================================================================== --- trunk/matplotlib/doc/users/event_handling.rst 2010年03月09日 21:09:51 UTC (rev 8186) +++ trunk/matplotlib/doc/users/event_handling.rst 2010年03月10日 14:14:52 UTC (rev 8187) @@ -111,6 +111,8 @@ Let's look a simple example of a canvas, where a simple line segment is created every time a mouse is pressed:: + from matplotlib import pyplot as plt + class LineBuilder: def __init__(self, line): self.line = line @@ -132,6 +134,7 @@ line, = ax.plot([0], [0]) # empty line linebuilder = LineBuilder(line) + plt.show() The :class:`~matplotlib.backend_bases.MouseEvent` that we just used is a This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8186 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8186&view=rev Author: mdboom Date: 2010年03月09日 21:09:51 +0000 (2010年3月09日) Log Message: ----------- Fix PS Type 3 font output -- the custom encoding seems to cause more trouble than it's worth. Modified Paths: -------------- trunk/matplotlib/ttconv/pprdrv_tt.cpp Modified: trunk/matplotlib/ttconv/pprdrv_tt.cpp =================================================================== --- trunk/matplotlib/ttconv/pprdrv_tt.cpp 2010年03月09日 15:44:16 UTC (rev 8185) +++ trunk/matplotlib/ttconv/pprdrv_tt.cpp 2010年03月09日 21:09:51 UTC (rev 8186) @@ -420,19 +420,21 @@ -------------------------------------------------------------*/ void ttfont_encoding(TTStreamWriter& stream, struct TTFONT *font, std::vector<int>& glyph_ids, font_type_enum target_type) { - if (target_type == PS_TYPE_3) { - stream.printf("/Encoding [ "); + stream.putline("/Encoding ISOLatin1Encoding def"); - for (std::vector<int>::const_iterator i = glyph_ids.begin(); - i != glyph_ids.end(); ++i) { - const char* name = ttfont_CharStrings_getname(font, *i); - stream.printf("/%s ", name); - } + // if (target_type == PS_TYPE_3) { + // stream.printf("/Encoding [ "); - stream.printf("] def\n"); - } else { - stream.putline("/Encoding StandardEncoding def"); - } + // for (std::vector<int>::const_iterator i = glyph_ids.begin(); + // i != glyph_ids.end(); ++i) { + // const char* name = ttfont_CharStrings_getname(font, *i); + // stream.printf("/%s ", name); + // } + + // stream.printf("] def\n"); + // } else { + // stream.putline("/Encoding StandardEncoding def"); + // } } /* end of ttfont_encoding() */ /*----------------------------------------------------------- This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8185 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8185&view=rev Author: jdh2358 Date: 2010年03月09日 15:44:16 +0000 (2010年3月09日) Log Message: ----------- remove micromicro version num Modified Paths: -------------- branches/v0_99_maint/lib/matplotlib/__init__.py branches/v0_99_maint/release/osx/Makefile Modified: branches/v0_99_maint/lib/matplotlib/__init__.py =================================================================== --- branches/v0_99_maint/lib/matplotlib/__init__.py 2010年03月09日 15:41:30 UTC (rev 8184) +++ branches/v0_99_maint/lib/matplotlib/__init__.py 2010年03月09日 15:44:16 UTC (rev 8185) @@ -89,7 +89,7 @@ """ from __future__ import generators -__version__ = '0.99.1.3rc1' +__version__ = '0.99.3rc1' __revision__ = '$Revision$' __date__ = '$Date$' Modified: branches/v0_99_maint/release/osx/Makefile =================================================================== --- branches/v0_99_maint/release/osx/Makefile 2010年03月09日 15:41:30 UTC (rev 8184) +++ branches/v0_99_maint/release/osx/Makefile 2010年03月09日 15:44:16 UTC (rev 8185) @@ -4,7 +4,7 @@ ZLIBVERSION=1.2.3 PNGVERSION=1.2.39 FREETYPEVERSION=2.3.7 -MPLVERSION=0.99.1.3rc1 +MPLVERSION=0.99.3rc1 BDISTMPKGVERSION=0.4.4 MPLSRC=matplotlib-${MPLVERSION} OSX_SDK_VER=10.6 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8184 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8184&view=rev Author: jdh2358 Date: 2010年03月09日 15:41:30 +0000 (2010年3月09日) Log Message: ----------- tagging for branch release candidate Modified Paths: -------------- branches/v0_99_maint/lib/matplotlib/__init__.py branches/v0_99_maint/lib/matplotlib/cbook.py branches/v0_99_maint/make.osx branches/v0_99_maint/release/osx/Makefile branches/v0_99_maint/release/osx/data/setup.cfg Modified: branches/v0_99_maint/lib/matplotlib/__init__.py =================================================================== --- branches/v0_99_maint/lib/matplotlib/__init__.py 2010年03月09日 14:19:49 UTC (rev 8183) +++ branches/v0_99_maint/lib/matplotlib/__init__.py 2010年03月09日 15:41:30 UTC (rev 8184) @@ -89,7 +89,7 @@ """ from __future__ import generators -__version__ = '0.99.1.1' +__version__ = '0.99.1.3rc1' __revision__ = '$Revision$' __date__ = '$Date$' Modified: branches/v0_99_maint/lib/matplotlib/cbook.py =================================================================== --- branches/v0_99_maint/lib/matplotlib/cbook.py 2010年03月09日 14:19:49 UTC (rev 8183) +++ branches/v0_99_maint/lib/matplotlib/cbook.py 2010年03月09日 15:41:30 UTC (rev 8184) @@ -20,8 +20,10 @@ try: preferredencoding = locale.getpreferredencoding() -except (ValueError, ImportError): +except ValueError: preferredencoding = None +except ImportError: + preferredencoding = None def unicode_safe(s): if preferredencoding is None: return unicode(s) Modified: branches/v0_99_maint/make.osx =================================================================== --- branches/v0_99_maint/make.osx 2010年03月09日 14:19:49 UTC (rev 8183) +++ branches/v0_99_maint/make.osx 2010年03月09日 15:41:30 UTC (rev 8184) @@ -1,38 +1,47 @@ -# build mpl into a local install dir with +# build mpl into a local install dir with # PREFIX=/Users/jdhunter/dev make -f make.osx fetch deps mpl_install -MPLVERSION=0.99.1.1 PYVERSION=2.6 PYTHON=python${PYVERSION} ZLIBVERSION=1.2.3 -PNGVERSION=1.2.33 -FREETYPEVERSION=2.3.7 -MACOSX_DEPLOYMENT_TARGET=10.4 +PNGVERSION=1.2.39 +FREETYPEVERSION=2.3.11 +MACOSX_DEPLOYMENT_TARGET=10.6 +OSX_SDK_VER=10.6 +ARCH_FLAGS="-arch i386-arch x86_64" + ## You shouldn't need to configure past this point +#PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" +#CFLAGS="${ARCH_FLAGS} -I${PREFIX}/include -I${PREFIX}/include/freetype2 -isysroot /Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk" +#LDFLAGS="${ARCH_FLAGS} -L${PREFIX}/lib -syslibroot,/Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk" -CFLAGS="-arch i386 -arch ppc -I${PREFIX}/include -I${PREFIX}/include/freetype2 -isysroot /Developer/SDKs/MacOSX10.4u.sdk" -LDFLAGS="-arch i386 -arch ppc -L${PREFIX}/lib -syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" +PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" +CFLAGS="-arch i386 -arch x86_64 -I${PREFIX}/include -I${PREFIX}/include/freetype2 -isysroot /Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk" +LDFLAGS="-arch i386 -arch x86_64 -L${PREFIX}/lib -syslibroot,/Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk" +FFLAGS="-arch i386 -arch x86_64" clean: rm -rf zlib-${ZLIBVERSION}.tar.gz libpng-${PNGVERSION}.tar.bz2 \ freetype-${FREETYPEVERSION}.tar.bz2 bdist_mpkg-${BDISTMPKGVERSION}.tar.gz \ bdist_mpkg-${BDISTMPKGVERSION} \ - zlib-${ZLIBVERSION} libpng-${PNGVERSION} freetype-${FREETYPEVERSION} + zlib-${ZLIBVERSION} libpng-${PNGVERSION} freetype-${FREETYPEVERSION} \ + build + fetch: ${PYTHON} -c 'import urllib; urllib.urlretrieve("http://www.zlib.net/zlib-${ZLIBVERSION}.tar.gz", "zlib-${ZLIBVERSION}.tar.gz")' &&\ - ${PYTHON} -c 'import urllib; urllib.urlretrieve("http://internap.dl.sourceforge.net/sourceforge/libpng/libpng-${PNGVERSION}.tar.bz2", "libpng-${PNGVERSION}.tar.bz2")' &&\ + ${PYTHON} -c 'import urllib; urllib.urlretrieve("http://downloads.sourceforge.net/project/libpng/libpng-stable/${PNGVERSION}/libpng-${PNGVERSION}.tar.gz", "libpng-${PNGVERSION}.tar.gz")' &&\ ${PYTHON} -c 'import urllib; urllib.urlretrieve("http://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPEVERSION}.tar.bz2", "freetype-${FREETYPEVERSION}.tar.bz2")' zlib: - unset PKG_CONFIG_PATH &&\ + export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\ rm -rf zlib-${ZLIBVERSION} &&\ - tar xvfz zlib-${ZLIBVERSION}.tar.gz &&\ + tar xvfj zlib-${ZLIBVERSION}.tar.gz &&\ cd zlib-${ZLIBVERSION} &&\ export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\ export CFLAGS=${CFLAGS} &&\ @@ -42,9 +51,9 @@ unset MACOSX_DEPLOYMENT_TARGET png: zlib - unset PKG_CONFIG_PATH &&\ + export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\ rm -rf libpng-${PNGVERSION} &&\ - tar xvfj libpng-${PNGVERSION}.tar.bz2 + tar xvfz libpng-${PNGVERSION}.tar.gz && \ cd libpng-${PNGVERSION} &&\ export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\ export CFLAGS=${CFLAGS} &&\ @@ -56,7 +65,7 @@ freetype: zlib - unset PKG_CONFIG_PATH &&\ + export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\ rm -rf ${FREETYPEVERSION} &&\ tar xvfj freetype-${FREETYPEVERSION}.tar.bz2 &&\ cd freetype-${FREETYPEVERSION} &&\ @@ -73,12 +82,14 @@ echo 'all done' mpl_build: + export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\ export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\ export CFLAGS=${CFLAGS} &&\ export LDFLAGS=${LDFLAGS} &&\ - ${PYTHON} setup.py build + ${PYTHON} setup.py build mpl_install: + export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\ export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\ export CFLAGS=${CFLAGS} &&\ export LDFLAGS=${LDFLAGS} &&\ Modified: branches/v0_99_maint/release/osx/Makefile =================================================================== --- branches/v0_99_maint/release/osx/Makefile 2010年03月09日 14:19:49 UTC (rev 8183) +++ branches/v0_99_maint/release/osx/Makefile 2010年03月09日 15:41:30 UTC (rev 8184) @@ -2,12 +2,14 @@ PYTHON=python${PYVERSION} SRCDIR=${PWD} ZLIBVERSION=1.2.3 -PNGVERSION=1.2.33 +PNGVERSION=1.2.39 FREETYPEVERSION=2.3.7 -MPLVERSION=0.99.0 +MPLVERSION=0.99.1.3rc1 BDISTMPKGVERSION=0.4.4 MPLSRC=matplotlib-${MPLVERSION} -MACOSX_DEPLOYMENT_TARGET=10.4 +OSX_SDK_VER=10.6 +MACOSX_DEPLOYMENT_TARGET=10.6 +BDIST_MPKG=/Users/jdh2358/dev/bin/bdist_mpkg ## You shouldn't need to configure past this point @@ -15,11 +17,11 @@ LDFLAGS="-arch ppc -arch i386 -L${SRCDIR}/zlib-${ZLIBVERSION} -L${SRCDIR}/libpng-${PNGVERSION} -L${SRCDIR}/freetype-${FREETYPEVERSION}" -CFLAGS_ZLIB="-arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk" -LDFLAGS_ZLIB="-arch i386 -arch ppc -syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" +CFLAGS_ZLIB="-arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk" +LDFLAGS_ZLIB="-arch i386 -arch ppc -syslibroot,/Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk" -CFLAGS_DEPS="-arch i386 -arch ppc -I${SRCDIR}/zlib-${ZLIBVERSION} -isysroot /Developer/SDKs/MacOSX10.4u.sdk" -LDFLAGS_DEPS="-arch i386 -arch ppc -L${SRCDIR}/zlib-${ZLIBVERSION} -syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" +CFLAGS_DEPS="-arch i386 -arch ppc -I${SRCDIR}/zlib-${ZLIBVERSION} -isysroot /Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk" +LDFLAGS_DEPS="-arch i386 -arch ppc -L${SRCDIR}/zlib-${ZLIBVERSION} -syslibroot,/Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk" clean: rm -rf zlib-${ZLIBVERSION}.tar.gz libpng-${PNGVERSION}.tar.bz2 \ @@ -29,15 +31,14 @@ matplotlib-${MPLVERSION} *~ fetch: - wget http://www.zlib.net/zlib-${ZLIBVERSION}.tar.gz &&\ - wget http://internap.dl.sourceforge.net/sourceforge/libpng/libpng-${PNGVERSION}.tar.bz2 &&\ - wget http://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPEVERSION}.tar.bz2&&\ - wget http://pypi.python.org/packages/source/b/bdist_mpkg/bdist_mpkg-${BDISTMPKGVERSION}.tar.gz&&\ - tar xvfz bdist_mpkg-${BDISTMPKGVERSION}.tar.gz &&\ - echo "You need to to install bdist_mpkg-${BDISTMPKGVERSION} now" + ${PYTHON} -c 'import urllib; urllib.urlretrieve("http://www.zlib.net/zlib-${ZLIBVERSION}.tar.gz", "zlib-${ZLIBVERSION}.tar.gz")' &&\ + ${PYTHON} -c 'import urllib; urllib.urlretrieve("http://downloads.sourceforge.net/project/libpng/libpng-stable/${PNGVERSION}/libpng-${PNGVERSION}.tar.gz", "libpng-${PNGVERSION}.tar.gz")' &&\ + ${PYTHON} -c 'import urllib; urllib.urlretrieve("http://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPEVERSION}.tar.bz2", "freetype-${FREETYPEVERSION}.tar.bz2")' &&\ + ${PYTHON} -c 'import urllib; urllib.urlretrieve("http://pypi.python.org/packages/source/b/bdist_mpkg/bdist_mpkg-${BDISTMPKGVERSION}.tar.gz", "bdist_mpkg-${BDISTMPKGVERSION}.tar.gz")' + zlib: unset PKG_CONFIG_PATH &&\ rm -rf zlib-${ZLIBVERSION} &&\ @@ -53,7 +54,7 @@ png: zlib unset PKG_CONFIG_PATH &&\ rm -rf libpng-${PNGVERSION} &&\ - tar xvfj libpng-${PNGVERSION}.tar.bz2 + tar xvfz libpng-${PNGVERSION}.tar.gz &&\ cd libpng-${PNGVERSION} &&\ export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\ export CFLAGS=${CFLAGS_DEPS} &&\ @@ -88,8 +89,8 @@ cp ../data/setup.cfg ../data/ReadMe.txt . &&\ export CFLAGS=${CFLAGS} &&\ export LDFLAGS=${LDFLAGS} &&\ - /Library/Frameworks/Python.framework/Versions/${PYVERSION}/bin/bdist_mpkg --readme=ReadMe.txt &&\ - hdiutil create -srcdir dist/matplotlib-${MPLVERSION}-py${PYVERSION}-macosx10.5.mpkg dist/matplotlib-${MPLVERSION}-py${PYVERSION}-macosx10.5.dmg &&\ + ${BDIST_MPKG} --readme=ReadMe.txt &&\ + hdiutil create -srcdir dist/matplotlib-${MPLVERSION}-py${PYVERSION}-macosx${MACOSX_DEPLOYMENT_TARGET}.mpkg dist/matplotlib-${MPLVERSION}-py${PYVERSION}-macosx${MACOSX_DEPLOYMENT_TARGET}.dmg &&\ ${PYTHON} setupegg.py bdist_egg upload: @@ -97,7 +98,7 @@ mkdir upload &&\ cp matplotlib-${MPLVERSION}.tar.gz upload/ &&\ cp matplotlib-${MPLVERSION}/dist/matplotlib-${MPLVERSION}_r0-py${PYVERSION}-macosx-10.3-fat.egg upload/matplotlib-${MPLVERSION}-macosx-py${PYVERSION}.egg &&\ - cp matplotlib-${MPLVERSION}/dist/matplotlib-${MPLVERSION}-py${PYVERSION}-macosx10.5.zip upload/matplotlib-${MPLVERSION}-py${PYVERSION}-mpkg.zip&&\ + cp matplotlib-${MPLVERSION}/dist/matplotlib-${MPLVERSION}-py${PYVERSION}-macosx${MACOSX_DEPLOYMENT_TARGET}.zip upload/matplotlib-${MPLVERSION}-py${PYVERSION}-mpkg.zip&&\ scp upload/* jd...@fr...:uploads/ all: Modified: branches/v0_99_maint/release/osx/data/setup.cfg =================================================================== --- branches/v0_99_maint/release/osx/data/setup.cfg 2010年03月09日 14:19:49 UTC (rev 8183) +++ branches/v0_99_maint/release/osx/data/setup.cfg 2010年03月09日 15:41:30 UTC (rev 8184) @@ -54,7 +54,7 @@ #gtk = False #gtkagg = False tkagg = True -wxagg = True +wxagg = False macosx = True [rc_options] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8183 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8183&view=rev Author: jdh2358 Date: 2010年03月09日 14:19:49 +0000 (2010年3月09日) Log Message: ----------- update make.osx to build on 10.6 Modified Paths: -------------- trunk/matplotlib/make.osx trunk/matplotlib/release/osx/Makefile Modified: trunk/matplotlib/make.osx =================================================================== --- trunk/matplotlib/make.osx 2010年03月08日 18:33:04 UTC (rev 8182) +++ trunk/matplotlib/make.osx 2010年03月09日 14:19:49 UTC (rev 8183) @@ -4,17 +4,22 @@ PYVERSION=2.6 PYTHON=python${PYVERSION} ZLIBVERSION=1.2.3 -PNGVERSION=1.2.40 +PNGVERSION=1.2.39 FREETYPEVERSION=2.3.11 -MACOSX_DEPLOYMENT_TARGET=10.4 -OSX_SDK_VER=10.4u -ARCH_FLAGS="-arch i386 -arch ppc -arch x86_64" +MACOSX_DEPLOYMENT_TARGET=10.6 +OSX_SDK_VER=10.6 +ARCH_FLAGS="-arch i386-arch x86_64" ## You shouldn't need to configure past this point +#PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" +#CFLAGS="${ARCH_FLAGS} -I${PREFIX}/include -I${PREFIX}/include/freetype2 -isysroot /Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk" +#LDFLAGS="${ARCH_FLAGS} -L${PREFIX}/lib -syslibroot,/Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk" + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" -CFLAGS="${ARCH_FLAGS} -I${PREFIX}/include -I${PREFIX}/include/freetype2 -isysroot /Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk" -LDFLAGS="${ARCH_FLAGS} -L${PREFIX}/lib -syslibroot,/Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk" +CFLAGS="-arch i386 -arch x86_64 -I${PREFIX}/include -I${PREFIX}/include/freetype2 -isysroot /Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk" +LDFLAGS="-arch i386 -arch x86_64 -L${PREFIX}/lib -syslibroot,/Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk" +FFLAGS="-arch i386 -arch x86_64" clean: rm -rf zlib-${ZLIBVERSION}.tar.gz libpng-${PNGVERSION}.tar.bz2 \ @@ -23,9 +28,10 @@ zlib-${ZLIBVERSION} libpng-${PNGVERSION} freetype-${FREETYPEVERSION} \ build + fetch: ${PYTHON} -c 'import urllib; urllib.urlretrieve("http://www.zlib.net/zlib-${ZLIBVERSION}.tar.gz", "zlib-${ZLIBVERSION}.tar.gz")' &&\ - ${PYTHON} -c 'import urllib; urllib.urlretrieve("http://download.sourceforge.net/libpng/libpng-${PNGVERSION}.tar.gz", "libpng-${PNGVERSION}.tar.bz2")' &&\ + ${PYTHON} -c 'import urllib; urllib.urlretrieve("http://downloads.sourceforge.net/project/libpng/libpng-stable/${PNGVERSION}/libpng-${PNGVERSION}.tar.gz", "libpng-${PNGVERSION}.tar.gz")' &&\ ${PYTHON} -c 'import urllib; urllib.urlretrieve("http://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPEVERSION}.tar.bz2", "freetype-${FREETYPEVERSION}.tar.bz2")' @@ -34,7 +40,7 @@ zlib: export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\ rm -rf zlib-${ZLIBVERSION} &&\ - tar xvfz zlib-${ZLIBVERSION}.tar.gz &&\ + tar xvfj zlib-${ZLIBVERSION}.tar.gz &&\ cd zlib-${ZLIBVERSION} &&\ export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\ export CFLAGS=${CFLAGS} &&\ @@ -46,7 +52,7 @@ png: zlib export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\ rm -rf libpng-${PNGVERSION} &&\ - tar xvfz libpng-${PNGVERSION}.tar.gz + tar xvfz libpng-${PNGVERSION}.tar.gz && \ cd libpng-${PNGVERSION} &&\ export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\ export CFLAGS=${CFLAGS} &&\ Modified: trunk/matplotlib/release/osx/Makefile =================================================================== --- trunk/matplotlib/release/osx/Makefile 2010年03月08日 18:33:04 UTC (rev 8182) +++ trunk/matplotlib/release/osx/Makefile 2010年03月09日 14:19:49 UTC (rev 8183) @@ -4,7 +4,7 @@ ZLIBVERSION=1.2.3 PNGVERSION=1.2.33 FREETYPEVERSION=2.3.7 -MPLVERSION=0.99.0 +MPLVERSION=1.0 BDISTMPKGVERSION=0.4.4 MPLSRC=matplotlib-${MPLVERSION} MACOSX_DEPLOYMENT_TARGET=10.4 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8182 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8182&view=rev Author: efiring Date: 2010年03月08日 18:33:04 +0000 (2010年3月08日) Log Message: ----------- dates.py: fix num2jul, jul2num; fixes bug 2963391; thanks to G. Lichtenberg Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/dates.py Modified: trunk/matplotlib/lib/matplotlib/dates.py =================================================================== --- trunk/matplotlib/lib/matplotlib/dates.py 2010年03月08日 18:09:55 UTC (rev 8181) +++ trunk/matplotlib/lib/matplotlib/dates.py 2010年03月08日 18:33:04 UTC (rev 8182) @@ -3,8 +3,9 @@ Matplotlib provides sophisticated date plotting capabilities, standing on the shoulders of python :mod:`datetime`, the add-on modules :mod:`pytz` and :mod:`dateutils`. :class:`datetime` objects are -converted to floating point numbers which represent the number of days -since 0001年01月01日 UTC. The helper functions :func:`date2num`, +converted to floating point numbers which represent time in days +since 0001年01月01日 UTC, plus 1. For example, 0001年01月01日, 06:00 is +1.25, not 0.25. The helper functions :func:`date2num`, :func:`num2date` and :func:`drange` are used to facilitate easy conversion to and from :mod:`datetime` and numeric ranges. @@ -225,7 +226,7 @@ *d* is either a :class:`datetime` instance or a sequence of datetimes. Return value is a floating point number (or sequence of floats) - which gives number of days (fraction part represents hours, + which gives one plus the number of days (fraction part represents hours, minutes, seconds) since 0001年01月01日 00:00:00 UTC. """ if not cbook.iterable(d): return _to_ordinalf(d) @@ -235,17 +236,18 @@ def julian2num(j): 'Convert a Julian date (or sequence) to a matplotlib date (or sequence).' if cbook.iterable(j): j = np.asarray(j) - return j + 1721425.5 + return j - 1721424.5 def num2julian(n): 'Convert a matplotlib date (or sequence) to a Julian date (or sequence).' if cbook.iterable(n): n = np.asarray(n) - return n - 1721425.5 + return n + 1721424.5 def num2date(x, tz=None): """ - *x* is a float value which gives number of days (fraction part - represents hours, minutes, seconds) since 0001年01月01日 00:00:00 UTC. + *x* is a float value which gives one plus the number of days + (fraction part represents hours, minutes, seconds) since + 0001年01月01日 00:00:00 UTC. Return value is a :class:`datetime` instance in timezone *tz* (default to rcparams TZ value). This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8181 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8181&view=rev Author: efiring Date: 2010年03月08日 18:09:55 +0000 (2010年3月08日) Log Message: ----------- dates.py: fix num2jul, jul2num; fixes bug 2963391; thanks to G. Lichtenberg Modified Paths: -------------- branches/v0_99_maint/lib/matplotlib/dates.py Modified: branches/v0_99_maint/lib/matplotlib/dates.py =================================================================== --- branches/v0_99_maint/lib/matplotlib/dates.py 2010年03月05日 23:54:39 UTC (rev 8180) +++ branches/v0_99_maint/lib/matplotlib/dates.py 2010年03月08日 18:09:55 UTC (rev 8181) @@ -3,8 +3,9 @@ Matplotlib provides sophisticated date plotting capabilities, standing on the shoulders of python :mod:`datetime`, the add-on modules :mod:`pytz` and :mod:`dateutils`. :class:`datetime` objects are -converted to floating point numbers which represent the number of days -since 0001年01月01日 UTC. The helper functions :func:`date2num`, +converted to floating point numbers which represent time in days +since 0001年01月01日 UTC, plus 1. For example, 0001年01月01日, 06:00 is +1.25, not 0.25. The helper functions :func:`date2num`, :func:`num2date` and :func:`drange` are used to facilitate easy conversion to and from :mod:`datetime` and numeric ranges. @@ -225,7 +226,7 @@ *d* is either a :class:`datetime` instance or a sequence of datetimes. Return value is a floating point number (or sequence of floats) - which gives number of days (fraction part represents hours, + which gives one plus the number of days (fraction part represents hours, minutes, seconds) since 0001年01月01日 00:00:00 UTC. """ if not cbook.iterable(d): return _to_ordinalf(d) @@ -235,17 +236,18 @@ def julian2num(j): 'Convert a Julian date (or sequence) to a matplotlib date (or sequence).' if cbook.iterable(j): j = np.asarray(j) - return j + 1721425.5 + return j - 1721424.5 def num2julian(n): 'Convert a matplotlib date (or sequence) to a Julian date (or sequence).' if cbook.iterable(n): n = np.asarray(n) - return n - 1721425.5 + return n + 1721424.5 def num2date(x, tz=None): """ - *x* is a float value which gives number of days (fraction part - represents hours, minutes, seconds) since 0001年01月01日 00:00:00 UTC. + *x* is a float value which gives one plus the number of days + (fraction part represents hours, minutes, seconds) since + 0001年01月01日 00:00:00 UTC. Return value is a :class:`datetime` instance in timezone *tz* (default to rcparams TZ value). This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8180 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8180&view=rev Author: leejjoon Date: 2010年03月05日 23:54:39 +0000 (2010年3月05日) Log Message: ----------- same change as in r8179 of mpl99. fix a bug in SubplotDivider.new_horizontal that gave incrroect result when pack_start=True Modified Paths: -------------- trunk/matplotlib/lib/mpl_toolkits/axes_grid/axes_divider.py Modified: trunk/matplotlib/lib/mpl_toolkits/axes_grid/axes_divider.py =================================================================== --- trunk/matplotlib/lib/mpl_toolkits/axes_grid/axes_divider.py 2010年03月05日 23:51:22 UTC (rev 8179) +++ trunk/matplotlib/lib/mpl_toolkits/axes_grid/axes_divider.py 2010年03月05日 23:54:39 UTC (rev 8180) @@ -449,7 +449,6 @@ locator = self.new_locator(nx=len(self._horizontal)-1, ny=0) ax = self._get_new_axes(**kwargs) - locator = self.new_locator(nx=len(self._horizontal)-1, ny=0) ax.set_axes_locator(locator) return ax This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8179 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8179&view=rev Author: leejjoon Date: 2010年03月05日 23:51:22 +0000 (2010年3月05日) Log Message: ----------- fix a bug in SubplotDivider.new_horizontal that gave incrroect result when pack_start=True Modified Paths: -------------- branches/v0_99_maint/lib/mpl_toolkits/axes_grid/axes_divider.py Modified: branches/v0_99_maint/lib/mpl_toolkits/axes_grid/axes_divider.py =================================================================== --- branches/v0_99_maint/lib/mpl_toolkits/axes_grid/axes_divider.py 2010年03月04日 00:05:17 UTC (rev 8178) +++ branches/v0_99_maint/lib/mpl_toolkits/axes_grid/axes_divider.py 2010年03月05日 23:51:22 UTC (rev 8179) @@ -449,7 +449,6 @@ locator = self.new_locator(nx=len(self._horizontal)-1, ny=0) ax = self._get_new_axes(**kwargs) - locator = self.new_locator(nx=len(self._horizontal)-1, ny=0) ax.set_axes_locator(locator) return ax This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8178 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8178&view=rev Author: leejjoon Date: 2010年03月04日 00:05:17 +0000 (2010年3月04日) Log Message: ----------- make NonUniformImage not to use unsampled_image Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/image.py Modified: trunk/matplotlib/lib/matplotlib/image.py =================================================================== --- trunk/matplotlib/lib/matplotlib/image.py 2010年03月03日 21:33:35 UTC (rev 8177) +++ trunk/matplotlib/lib/matplotlib/image.py 2010年03月04日 00:05:17 UTC (rev 8178) @@ -592,6 +592,12 @@ **kwargs) AxesImage.set_interpolation(self, interp) + def _check_unsampled_image(self, renderer): + """ + return False. Do not use unsampled image. + """ + return False + def make_image(self, magnification=1.0): if self._A is None: raise RuntimeError('You must first set the image array') This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8177 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8177&view=rev Author: jdh2358 Date: 2010年03月03日 21:33:35 +0000 (2010年3月03日) Log Message: ----------- fix hexbin bins=log bug Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/axes.py trunk/matplotlib/lib/matplotlib/ticker.py Modified: trunk/matplotlib/lib/matplotlib/axes.py =================================================================== --- trunk/matplotlib/lib/matplotlib/axes.py 2010年03月03日 21:06:01 UTC (rev 8176) +++ trunk/matplotlib/lib/matplotlib/axes.py 2010年03月03日 21:33:35 UTC (rev 8177) @@ -69,12 +69,12 @@ except ValueError: return linestyle, marker, color # Yes else: - if fmt != fmtint: - # user definitely doesn't want tri_down marker + if fmt != fmtint: + # user definitely doesn't want tri_down marker return linestyle, marker, color # Yes else: # ignore converted color - color = None + color = None except ValueError: pass # No, not just a color. @@ -5773,18 +5773,16 @@ if (accum==0).any(): # make sure we have not zeros accum += 1 - - # Transform accum if needed - if bins=='log': - accum = np.log10(accum+1) - # autoscale the norm with curren accum values if it hasn't # been set if norm is not None: if norm.vmin is None and norm.vmax is None: norm.autoscale(accum) - + + # Transform accum if needed + if bins=='log': + accum = np.log10(accum+1) elif bins!=None: if not iterable(bins): minimum, maximum = min(accum), max(accum) Modified: trunk/matplotlib/lib/matplotlib/ticker.py =================================================================== --- trunk/matplotlib/lib/matplotlib/ticker.py 2010年03月03日 21:06:01 UTC (rev 8176) +++ trunk/matplotlib/lib/matplotlib/ticker.py 2010年03月03日 21:33:35 UTC (rev 8177) @@ -542,9 +542,10 @@ return self.fix_minus(s) def format_data(self, value): + b = self.labelOnlyBase self.labelOnlyBase = False value = cbook.strip_math(self.__call__(value)) - self.labelOnlyBase = True + self.labelOnlyBase = b return value def format_data_short(self,value): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8176 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8176&view=rev Author: jdh2358 Date: 2010年03月03日 21:06:01 +0000 (2010年3月03日) Log Message: ----------- patch branch updates Modified Paths: -------------- trunk/matplotlib/CHANGELOG trunk/matplotlib/doc/_templates/indexsidebar.html trunk/matplotlib/doc/_templates/layout.html trunk/matplotlib/doc/devel/coding_guide.rst trunk/matplotlib/doc/users/artists.rst trunk/matplotlib/lib/matplotlib/artist.py trunk/matplotlib/lib/matplotlib/backends/backend_wxagg.py trunk/matplotlib/lib/matplotlib/finance.py trunk/matplotlib/lib/matplotlib/patches.py Added Paths: ----------- trunk/matplotlib/doc/_static/favicon.ico Modified: trunk/matplotlib/CHANGELOG =================================================================== --- trunk/matplotlib/CHANGELOG 2010年03月03日 18:03:30 UTC (rev 8175) +++ trunk/matplotlib/CHANGELOG 2010年03月03日 21:06:01 UTC (rev 8176) @@ -1,3 +1,26 @@ +2010年03月03日 Manually brought in commits from branch via diff/patch (svnmerge is broken) + + ------------------------------------------------------------------------ + r8175 | leejjoon | 2010年03月03日 10:03:30 -0800 (2010年3月03日) | 1 line + + fix arguments of allow_rasterization.draw_wrapper + ------------------------------------------------------------------------ + r8174 | jdh2358 | 2010年03月03日 09:15:58 -0800 (2010年3月03日) | 1 line + + added support for favicon in docs build + ------------------------------------------------------------------------ + r8173 | jdh2358 | 2010年03月03日 08:56:16 -0800 (2010年3月03日) | 1 line + + applied Mattias get_bounds patch + ------------------------------------------------------------------------ + r8172 | jdh2358 | 2010年03月03日 08:31:42 -0800 (2010年3月03日) | 1 line + + fix svnmerge download instructions + ------------------------------------------------------------------------ + r8171 | jdh2358 | 2010年03月03日 07:47:48 -0800 (2010年3月03日) | 1 line + + + 2010年02月25日 add annotation_demo3.py that demonstrates new functionality. -JJL 2010年02月25日 refactor Annotation to support arbitrary Transform as xycoords Added: trunk/matplotlib/doc/_static/favicon.ico =================================================================== (Binary files differ) Property changes on: trunk/matplotlib/doc/_static/favicon.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/matplotlib/doc/_templates/indexsidebar.html =================================================================== --- trunk/matplotlib/doc/_templates/indexsidebar.html 2010年03月03日 18:03:30 UTC (rev 8175) +++ trunk/matplotlib/doc/_templates/indexsidebar.html 2010年03月03日 21:06:01 UTC (rev 8176) @@ -9,11 +9,11 @@ pathto('users/installing') }}">installing</a> </p> -<p>Sandro Tosi has a new book -<a href="http://www.packtpub.com/matplotlib-python-development/book">Matplotlib for python -developers</a> -also -at <a href="http://www.amazon.com/Matplotlib-Python-Developers-Sandro-Tosi/dp/1847197906">amazon</a>.</p> +<p>Sandro Tosi has a new book + <a href="http://www.packtpub.com/matplotlib-python-development/book?utm_source=matplotlib.sourceforge.net&utm_medium=link&utm_content=pod&utm_campaign=mdb_002124">Matplotlib for python + developers</a> + also + at <a href="http://www.amazon.com/Matplotlib-Python-Developers-Sandro-Tosi/dp/1847197906">amazon</a>.</p> <p>Build websites like matplotlib's, with <a href="http://sphinx.pocoo.org/">sphinx</a> and extensions for Modified: trunk/matplotlib/doc/_templates/layout.html =================================================================== --- trunk/matplotlib/doc/_templates/layout.html 2010年03月03日 18:03:30 UTC (rev 8175) +++ trunk/matplotlib/doc/_templates/layout.html 2010年03月03日 21:06:01 UTC (rev 8176) @@ -23,8 +23,8 @@ </script> <object><noscript><p><img src="http://apps.sourceforge.net/piwik/matplotlib/piwik.php?idsite=1" alt="piwik"/></p></noscript></object> <!-- End Piwik Tag --> +<link rel="shortcut icon" href="_static/favicon.ico"> - <div style="background-color: white; text-align: left; padding: 10px 10px 15px 15px"> <a href="{{ pathto('index') }}"><img src="{{ pathto("_static/logo2.png", 1) }}" border="0" alt="matplotlib"/></a> Modified: trunk/matplotlib/doc/devel/coding_guide.rst =================================================================== --- trunk/matplotlib/doc/devel/coding_guide.rst 2010年03月03日 18:03:30 UTC (rev 8175) +++ trunk/matplotlib/doc/devel/coding_guide.rst 2010年03月03日 21:06:01 UTC (rev 8176) @@ -82,8 +82,8 @@ * install ``svnmerge.py`` in your PATH:: - > wget http://svn.collab.net/repos/svn/trunk/contrib/client-side/\ - svnmerge/svnmerge.py + > wget http://svn.apache.org/repos/asf/subversion/trunk/contrib/\ + client-side/svnmerge/svnmerge.py * get a svn checkout of the branch you'll be making bugfixes to and the trunk (see above) Modified: trunk/matplotlib/doc/users/artists.rst =================================================================== --- trunk/matplotlib/doc/users/artists.rst 2010年03月03日 18:03:30 UTC (rev 8175) +++ trunk/matplotlib/doc/users/artists.rst 2010年03月03日 21:06:01 UTC (rev 8176) @@ -419,7 +419,7 @@ # and notice that the ax.add_patch method has set the axes # instance In [267]: print rect.get_axes() - Subplot(49,81.25) + Axes(0.125,0.1;0.775x0.8) # and the transformation has been set too In [268]: print rect.get_transform() @@ -434,7 +434,7 @@ (0.0, 1.0) # but the data limits have been updated to encompass the rectangle - In [271]: print ax.dataLim.get_bounds() + In [271]: print ax.dataLim.bounds (1.0, 1.0, 5.0, 12.0) # we can manually invoke the auto-scaling machinery Modified: trunk/matplotlib/lib/matplotlib/artist.py =================================================================== --- trunk/matplotlib/lib/matplotlib/artist.py 2010年03月03日 18:03:30 UTC (rev 8175) +++ trunk/matplotlib/lib/matplotlib/artist.py 2010年03月03日 21:06:01 UTC (rev 8176) @@ -50,9 +50,9 @@ renderer.stop_rasterizing() # the axes class has a second argument inframe for its draw method. - def draw_wrapper(artist, renderer, *kl): + def draw_wrapper(artist, renderer, *args, **kwargs): before(artist, renderer) - draw(artist, renderer, *kl) + draw(artist, renderer, *args, **kwargs) after(artist, renderer) # "safe wrapping" to exactly replicate anything we haven't overridden above Modified: trunk/matplotlib/lib/matplotlib/backends/backend_wxagg.py =================================================================== --- trunk/matplotlib/lib/matplotlib/backends/backend_wxagg.py 2010年03月03日 18:03:30 UTC (rev 8175) +++ trunk/matplotlib/lib/matplotlib/backends/backend_wxagg.py 2010年03月03日 21:06:01 UTC (rev 8176) @@ -171,7 +171,7 @@ """ Convert the region of a wx.Image bounded by bbox to a wx.Bitmap. """ - l, b, width, height = bbox.get_bounds() + l, b, width, height = bbox.bounds r = l + width t = b + height @@ -238,7 +238,7 @@ Note: agg must be a backend_agg.RendererAgg instance. """ - l, b, width, height = bbox.get_bounds() + l, b, width, height = bbox.bounds r = l + width t = b + height Modified: trunk/matplotlib/lib/matplotlib/finance.py =================================================================== --- trunk/matplotlib/lib/matplotlib/finance.py 2010年03月03日 18:03:30 UTC (rev 8175) +++ trunk/matplotlib/lib/matplotlib/finance.py 2010年03月03日 21:06:01 UTC (rev 8176) @@ -597,8 +597,8 @@ maxy = max([volume for d, open, close, high, low, volume in quotes]) corners = (minpy, miny), (maxx, maxy) ax.update_datalim(corners) - #print 'datalim', ax.dataLim.get_bounds() - #print 'viewlim', ax.viewLim.get_bounds() + #print 'datalim', ax.dataLim.bounds + #print 'viewlim', ax.viewLim.bounds ax.add_collection(barCollection) ax.autoscale_view() Modified: trunk/matplotlib/lib/matplotlib/patches.py =================================================================== --- trunk/matplotlib/lib/matplotlib/patches.py 2010年03月03日 18:03:30 UTC (rev 8175) +++ trunk/matplotlib/lib/matplotlib/patches.py 2010年03月03日 21:06:01 UTC (rev 8176) @@ -1414,12 +1414,12 @@ pad = props.pop('pad', 4) pad = renderer.points_to_pixels(pad) bbox = artist.get_window_extent(renderer) - l,b,w,h = bbox.bounds - l-=pad/2. - b-=pad/2. - w+=pad - h+=pad - r = Rectangle(xy=(l,b), + l, b, w, h = bbox.bounds + l -= pad/2. + b -= pad/2. + w += pad + h += pad + r = Rectangle(xy=(l, b), width=w, height=h, fill=fill, @@ -1438,8 +1438,8 @@ to test whether the artist is returning the correct bbox. """ - l,b,w,h = bbox.get_bounds() - r = Rectangle(xy=(l,b), + l, b, w, h = bbox.bounds + r = Rectangle(xy=(l, b), width=w, height=h, edgecolor=color, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8175 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8175&view=rev Author: leejjoon Date: 2010年03月03日 18:03:30 +0000 (2010年3月03日) Log Message: ----------- fix arguments of allow_rasterization.draw_wrapper Modified Paths: -------------- branches/v0_99_maint/lib/matplotlib/artist.py Modified: branches/v0_99_maint/lib/matplotlib/artist.py =================================================================== --- branches/v0_99_maint/lib/matplotlib/artist.py 2010年03月03日 17:15:58 UTC (rev 8174) +++ branches/v0_99_maint/lib/matplotlib/artist.py 2010年03月03日 18:03:30 UTC (rev 8175) @@ -41,9 +41,9 @@ renderer.stop_rasterizing() # the axes class has a second argument inframe for its draw method. - def draw_wrapper(artist, renderer, *kl): + def draw_wrapper(artist, renderer, *args, **kwargs): before(artist, renderer) - draw(artist, renderer, *kl) + draw(artist, renderer, *args, **kwargs) after(artist, renderer) # "safe wrapping" to exactly replicate anything we haven't overridden above This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8174 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8174&view=rev Author: jdh2358 Date: 2010年03月03日 17:15:58 +0000 (2010年3月03日) Log Message: ----------- added support for favicon in docs build Modified Paths: -------------- branches/v0_99_maint/doc/_templates/indexsidebar.html branches/v0_99_maint/doc/_templates/layout.html Modified: branches/v0_99_maint/doc/_templates/indexsidebar.html =================================================================== --- branches/v0_99_maint/doc/_templates/indexsidebar.html 2010年03月03日 16:56:16 UTC (rev 8173) +++ branches/v0_99_maint/doc/_templates/indexsidebar.html 2010年03月03日 17:15:58 UTC (rev 8174) @@ -9,7 +9,7 @@ </p> <p>Sandro Tosi has a new book -<a href="http://www.packtpub.com/matplotlib-python-development/book">Matplotlib for python +<a href="http://www.packtpub.com/matplotlib-python-development/book?utm_source=matplotlib.sourceforge.net&utm_medium=link&utm_content=pod&utm_campaign=mdb_002124">Matplotlib for python developers</a> also at <a href="http://www.amazon.com/Matplotlib-Python-Developers-Sandro-Tosi/dp/1847197906">amazon</a>.</p> Modified: branches/v0_99_maint/doc/_templates/layout.html =================================================================== --- branches/v0_99_maint/doc/_templates/layout.html 2010年03月03日 16:56:16 UTC (rev 8173) +++ branches/v0_99_maint/doc/_templates/layout.html 2010年03月03日 17:15:58 UTC (rev 8174) @@ -23,7 +23,7 @@ </script> <object><noscript><p><img src="http://apps.sourceforge.net/piwik/matplotlib/piwik.php?idsite=1" alt="piwik"/></p></noscript></object> <!-- End Piwik Tag --> -<link rel="shortcut icon" href="favicon.ico"> +<link rel="shortcut icon" href="_static/favicon.ico"> <div style="background-color: white; text-align: left; padding: 10px 10px 15px 15px"> <a href="{{ pathto('index') }}"><img src="{{ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8173 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8173&view=rev Author: jdh2358 Date: 2010年03月03日 16:56:16 +0000 (2010年3月03日) Log Message: ----------- applied Mattias get_bounds patch Modified Paths: -------------- branches/v0_99_maint/doc/users/artists.rst branches/v0_99_maint/lib/matplotlib/backends/backend_wxagg.py branches/v0_99_maint/lib/matplotlib/finance.py branches/v0_99_maint/lib/matplotlib/patches.py Modified: branches/v0_99_maint/doc/users/artists.rst =================================================================== --- branches/v0_99_maint/doc/users/artists.rst 2010年03月03日 16:31:42 UTC (rev 8172) +++ branches/v0_99_maint/doc/users/artists.rst 2010年03月03日 16:56:16 UTC (rev 8173) @@ -419,7 +419,7 @@ # and notice that the ax.add_patch method has set the axes # instance In [267]: print rect.get_axes() - Subplot(49,81.25) + Axes(0.125,0.1;0.775x0.8) # and the transformation has been set too In [268]: print rect.get_transform() @@ -434,7 +434,7 @@ (0.0, 1.0) # but the data limits have been updated to encompass the rectangle - In [271]: print ax.dataLim.get_bounds() + In [271]: print ax.dataLim.bounds (1.0, 1.0, 5.0, 12.0) # we can manually invoke the auto-scaling machinery Modified: branches/v0_99_maint/lib/matplotlib/backends/backend_wxagg.py =================================================================== --- branches/v0_99_maint/lib/matplotlib/backends/backend_wxagg.py 2010年03月03日 16:31:42 UTC (rev 8172) +++ branches/v0_99_maint/lib/matplotlib/backends/backend_wxagg.py 2010年03月03日 16:56:16 UTC (rev 8173) @@ -171,7 +171,7 @@ """ Convert the region of a wx.Image bounded by bbox to a wx.Bitmap. """ - l, b, width, height = bbox.get_bounds() + l, b, width, height = bbox.bounds r = l + width t = b + height @@ -238,7 +238,7 @@ Note: agg must be a backend_agg.RendererAgg instance. """ - l, b, width, height = bbox.get_bounds() + l, b, width, height = bbox.bounds r = l + width t = b + height Modified: branches/v0_99_maint/lib/matplotlib/finance.py =================================================================== --- branches/v0_99_maint/lib/matplotlib/finance.py 2010年03月03日 16:31:42 UTC (rev 8172) +++ branches/v0_99_maint/lib/matplotlib/finance.py 2010年03月03日 16:56:16 UTC (rev 8173) @@ -597,8 +597,8 @@ maxy = max([volume for d, open, close, high, low, volume in quotes]) corners = (minpy, miny), (maxx, maxy) ax.update_datalim(corners) - #print 'datalim', ax.dataLim.get_bounds() - #print 'viewlim', ax.viewLim.get_bounds() + #print 'datalim', ax.dataLim.bounds + #print 'viewlim', ax.viewLim.bounds ax.add_collection(barCollection) ax.autoscale_view() Modified: branches/v0_99_maint/lib/matplotlib/patches.py =================================================================== --- branches/v0_99_maint/lib/matplotlib/patches.py 2010年03月03日 16:31:42 UTC (rev 8172) +++ branches/v0_99_maint/lib/matplotlib/patches.py 2010年03月03日 16:56:16 UTC (rev 8173) @@ -1383,12 +1383,12 @@ pad = props.pop('pad', 4) pad = renderer.points_to_pixels(pad) bbox = artist.get_window_extent(renderer) - l,b,w,h = bbox.bounds - l-=pad/2. - b-=pad/2. - w+=pad - h+=pad - r = Rectangle(xy=(l,b), + l, b, w, h = bbox.bounds + l -= pad/2. + b -= pad/2. + w += pad + h += pad + r = Rectangle(xy=(l, b), width=w, height=h, fill=fill, @@ -1407,8 +1407,8 @@ to test whether the artist is returning the correct bbox. """ - l,b,w,h = bbox.get_bounds() - r = Rectangle(xy=(l,b), + l, b, w, h = bbox.bounds + r = Rectangle(xy=(l, b), width=w, height=h, edgecolor=color, @@ -3174,7 +3174,7 @@ cos_t, sin_t = get_cos_sin(x1, y1, x0, y0) verticesA, codesA = self._get_bracket(x0, y0, cos_t, sin_t, self.widthA*scaleA, - self.legnthA*scaleA) + self.lengthA*scaleA) vertices_list.append(verticesA) codes_list.append(codesA) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8172 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8172&view=rev Author: jdh2358 Date: 2010年03月03日 16:31:42 +0000 (2010年3月03日) Log Message: ----------- fix svnmerge download instructions Modified Paths: -------------- branches/v0_99_maint/doc/devel/coding_guide.rst Modified: branches/v0_99_maint/doc/devel/coding_guide.rst =================================================================== --- branches/v0_99_maint/doc/devel/coding_guide.rst 2010年03月03日 15:47:48 UTC (rev 8171) +++ branches/v0_99_maint/doc/devel/coding_guide.rst 2010年03月03日 16:31:42 UTC (rev 8172) @@ -75,8 +75,8 @@ * install ``svnmerge.py`` in your PATH:: - > wget http://svn.collab.net/repos/svn/trunk/contrib/client-side/\ - svnmerge/svnmerge.py + > wget http://svn.apache.org/repos/asf/subversion/trunk/contrib/\ + client-side/svnmerge/svnmerge.py * get a svn checkout of the branch you'll be making bugfixes to and the trunk (see above) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8171 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8171&view=rev Author: jdh2358 Date: 2010年03月03日 15:47:48 +0000 (2010年3月03日) Log Message: ----------- added favicon Modified Paths: -------------- branches/v0_99_maint/doc/_templates/layout.html Added Paths: ----------- branches/v0_99_maint/doc/_static/favicon.ico Added: branches/v0_99_maint/doc/_static/favicon.ico =================================================================== (Binary files differ) Property changes on: branches/v0_99_maint/doc/_static/favicon.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: branches/v0_99_maint/doc/_templates/layout.html =================================================================== --- branches/v0_99_maint/doc/_templates/layout.html 2010年03月02日 13:12:16 UTC (rev 8170) +++ branches/v0_99_maint/doc/_templates/layout.html 2010年03月03日 15:47:48 UTC (rev 8171) @@ -23,8 +23,8 @@ </script> <object><noscript><p><img src="http://apps.sourceforge.net/piwik/matplotlib/piwik.php?idsite=1" alt="piwik"/></p></noscript></object> <!-- End Piwik Tag --> +<link rel="shortcut icon" href="favicon.ico"> - <div style="background-color: white; text-align: left; padding: 10px 10px 15px 15px"> <a href="{{ pathto('index') }}"><img src="{{ pathto("_static/logo2.png", 1) }}" border="0" alt="matplotlib"/></a> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8170 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8170&view=rev Author: jdh2358 Date: 2010年03月02日 13:12:16 +0000 (2010年3月02日) Log Message: ----------- fixed invalidx bug in Line2D get_xydata Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/lines.py Modified: trunk/matplotlib/lib/matplotlib/lines.py =================================================================== --- trunk/matplotlib/lib/matplotlib/lines.py 2010年03月02日 02:42:58 UTC (rev 8169) +++ trunk/matplotlib/lib/matplotlib/lines.py 2010年03月02日 13:12:16 UTC (rev 8170) @@ -659,7 +659,7 @@ """ Return the *xy* data as a Nx2 numpy array. """ - if self._invalidy or self.invalidx: + if self._invalidy or self._invalidx: self.recache() return self._xy @@ -831,7 +831,7 @@ def set_markerfacecolor(self, fc): """ - Set the marker face color. + Set the marker face color. ACCEPTS: any matplotlib color """ @@ -842,7 +842,7 @@ def set_markerfacecoloralt(self, fc): """ - Set the alternate marker face color. + Set the alternate marker face color. ACCEPTS: any matplotlib color """ @@ -1020,7 +1020,7 @@ path, path_trans, rgbFace) transform = transform.rotate_deg(180.) renderer.draw_markers(gc, righthalf, transform, - path, path_trans, rgbFace_alt) + path, path_trans, rgbFace_alt) _draw_pixel_transform = Affine2D().translate(-0.5, -0.5) @@ -1041,7 +1041,7 @@ rgbFace = self._get_rgb_face() fs = self.get_fillstyle() if fs=='full': - renderer.draw_markers(gc, Path.unit_circle(), transform, + renderer.draw_markers(gc, Path.unit_circle(), transform, path, path_trans, rgbFace) else: rgbFace_alt = self._get_rgb_face(alt=True) @@ -1118,8 +1118,8 @@ path, path_trans, rgbFace) renderer.draw_markers(gc, mpath_alt, transform, path, path_trans, rgbFace_alt) - + def _draw_triangle_up(self, renderer, gc, path, path_trans): self._draw_triangle(renderer, gc, path, path_trans, 'up') @@ -1190,8 +1190,8 @@ path, path_trans, rgbFace) renderer.draw_markers(gc, left, transform, path, path_trans, rgbFace_alt) - + def _draw_thin_diamond(self, renderer, gc, path, path_trans): gc.set_snap(renderer.points_to_pixels(self._markersize) >= 3.0) offset = renderer.points_to_pixels(self._markersize) @@ -1238,7 +1238,7 @@ path, path_trans, rgbFace) else: verts = polypath.vertices - + y = (1+np.sqrt(5))/4. top = Path([verts[0], verts[1], verts[4], verts[0]]) bottom = Path([verts[1], verts[2], verts[3], verts[4], verts[1]]) @@ -1299,7 +1299,7 @@ def _draw_hexagon1(self, renderer, gc, path, path_trans): - gc.set_snap(renderer.points_to_pixels(self._markersize) >= 5.0) + gc.set_snap(renderer.points_to_pixels(self._markersize) >= 5.0) offset = 0.5 * renderer.points_to_pixels(self._markersize) transform = Affine2D().scale(offset) @@ -1338,7 +1338,7 @@ def _draw_hexagon2(self, renderer, gc, path, path_trans): - gc.set_snap(renderer.points_to_pixels(self._markersize) >= 5.0) + gc.set_snap(renderer.points_to_pixels(self._markersize) >= 5.0) offset = 0.5 * renderer.points_to_pixels(self._markersize) transform = Affine2D().scale(offset).rotate_deg(30) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8169 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8169&view=rev Author: leejjoon Date: 2010年03月02日 02:42:58 +0000 (2010年3月02日) Log Message: ----------- add doc/mpl_toolkits/axes_grid/figures/simple_axis_pad.py and deleted unsed simple_axis_direction02.py Added Paths: ----------- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_pad.py Removed Paths: ------------- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction02.py Deleted: trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction02.py =================================================================== --- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction02.py 2010年03月02日 02:24:34 UTC (rev 8168) +++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction02.py 2010年03月02日 02:42:58 UTC (rev 8169) @@ -1,21 +0,0 @@ - -import matplotlib.pyplot as plt -import mpl_toolkits.axes_grid.axislines as axislines - -def setup_axes(fig, rect): - ax = axislines.Subplot(fig, rect) - fig.add_subplot(ax) - - ax.set_yticks([0.2, 0.8]) - ax.set_xticks([0.2, 0.8]) - - return ax - -fig = plt.figure(1, figsize=(4, 2)) -ax = setup_axes(fig, "111") - -ax.axis[:].major_ticks.set_tick_out(True) - -plt.show() - - Added: trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_pad.py =================================================================== --- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_pad.py (rev 0) +++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_pad.py 2010年03月02日 02:42:58 UTC (rev 8169) @@ -0,0 +1,112 @@ + + +import numpy as np +import mpl_toolkits.axes_grid.angle_helper as angle_helper +import mpl_toolkits.axes_grid.grid_finder as grid_finder +from matplotlib.projections import PolarAxes +from matplotlib.transforms import Affine2D + +import mpl_toolkits.axes_grid.axislines as axislines + +from mpl_toolkits.axes_grid.grid_helper_curvelinear import GridHelperCurveLinear + + +def setup_axes(fig, rect): + """ + polar projection, but in a rectangular box. + """ + + # see demo_curvelinear_grid.py for details + tr = Affine2D().scale(np.pi/180., 1.) + PolarAxes.PolarTransform() + + extreme_finder = angle_helper.ExtremeFinderCycle(20, 20, + lon_cycle = 360, + lat_cycle = None, + lon_minmax = None, + lat_minmax = (0, np.inf), + ) + + grid_locator1 = angle_helper.LocatorDMS(12) + grid_locator2 = grid_finder.MaxNLocator(5) + + tick_formatter1 = angle_helper.FormatterDMS() + + grid_helper = GridHelperCurveLinear(tr, + extreme_finder=extreme_finder, + grid_locator1=grid_locator1, + grid_locator2=grid_locator2, + tick_formatter1=tick_formatter1 + ) + + + ax1 = axislines.Subplot(fig, rect, grid_helper=grid_helper) + #ax1.axis[:].toggle(all=False) + ax1.axis[:].set_visible(False) + + fig.add_subplot(ax1) + + ax1.set_aspect(1.) + ax1.set_xlim(-5, 12) + ax1.set_ylim(-5, 10) + + #ax1.grid(True) + + return ax1 + + +def add_floating_axis1(ax1): + ax1.axis["lat"] = axis = ax1.new_floating_axis(0, 30) + axis.label.set_text(r"$\theta = 30^{\circ}$") + axis.label.set_visible(True) + + return axis + + +def add_floating_axis2(ax1): + ax1.axis["lon"] = axis = ax1.new_floating_axis(1, 6) + axis.label.set_text(r"$r = 6$") + axis.label.set_visible(True) + + return axis + + +import matplotlib.pyplot as plt +fig = plt.figure(1, figsize=(9, 3.)) +fig.clf() +fig.subplots_adjust(left=0.01, right=0.99, bottom=0.01, top=0.99, + wspace=0.01, hspace=0.01) + + +def ann(ax1, d): + if plt.rcParams["text.usetex"]: + d = d.replace("_", r"\_") + + ax1.annotate(d, (0.5, 1), (5, -5), + xycoords="axes fraction", textcoords="offset points", + va="top", ha="center") + +ax1 = setup_axes(fig, rect=141) +axis = add_floating_axis1(ax1) +ann(ax1, r"default") + +ax1 = setup_axes(fig, rect=142) +axis = add_floating_axis1(ax1) +axis.major_ticklabels.set_pad(10) +ann(ax1, r"ticklabels.set_pad(10)") + +ax1 = setup_axes(fig, rect=143) +axis = add_floating_axis1(ax1) +axis.label.set_pad(20) +ann(ax1, r"label.set_pad(20)") + +ax1 = setup_axes(fig, rect=144) +axis = add_floating_axis1(ax1) +axis.major_ticks.set_tick_out(True) +ann(ax1, "ticks.set_tick_out(True)") + + +#ax1.axis["bottom"].toggle(all=True) + +plt.show() + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8168 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8168&view=rev Author: jdh2358 Date: 2010年03月02日 02:24:34 +0000 (2010年3月02日) Log Message: ----------- fix alt kwarg for set_mfc Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/lines.py Modified: trunk/matplotlib/lib/matplotlib/lines.py =================================================================== --- trunk/matplotlib/lib/matplotlib/lines.py 2010年03月02日 01:47:54 UTC (rev 8167) +++ trunk/matplotlib/lib/matplotlib/lines.py 2010年03月02日 02:24:34 UTC (rev 8168) @@ -1586,7 +1586,7 @@ def set_mfc(self, val): 'alias for set_markerfacecolor' - self.set_markerfacecolor(val, alt=alt) + self.set_markerfacecolor(val) def set_mfcalt(self, val): 'alias for set_markerfacecoloralt' This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8167 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8167&view=rev Author: leejjoon Date: 2010年03月02日 01:47:54 +0000 (2010年3月02日) Log Message: ----------- add AxisArtist.invert_ticklabel_direction and fix axis label padding in axes_grid Modified Paths: -------------- trunk/matplotlib/lib/mpl_toolkits/axes_grid/axis_artist.py trunk/matplotlib/lib/mpl_toolkits/axes_grid/axislines.py Modified: trunk/matplotlib/lib/mpl_toolkits/axes_grid/axis_artist.py =================================================================== --- trunk/matplotlib/lib/mpl_toolkits/axes_grid/axis_artist.py 2010年03月02日 01:47:48 UTC (rev 8166) +++ trunk/matplotlib/lib/mpl_toolkits/axes_grid/axis_artist.py 2010年03月02日 01:47:54 UTC (rev 8167) @@ -389,6 +389,13 @@ def _get_offset_radius(self): return self._offset_radius + + _get_opposite_direction = {"left":"right", + "right":"left", + "top":"bottom", + "bottom":"top"}.__getitem__ + + def _update(self, renderer): pass @@ -665,6 +672,11 @@ self.set_default_alignment(label_direction) self.set_default_angle(label_direction) + + def invert_axis_direction(self): + label_direction = self._get_opposite_direction(self._axis_direction) + self.set_axis_direction(label_direction) + def _get_ticklabels_offsets(self, renderer, label_direction): """ Calculates the offsets of the ticklabels from the tick and @@ -1021,6 +1033,15 @@ else: self._ticklabel_add_angle = 0 + def invert_ticklabel_direction(self): + self._ticklabel_add_angle = (self._ticklabel_add_angle + 180) % 360 + self.major_ticklabels.invert_axis_direction() + self.minor_ticklabels.invert_axis_direction() + + # def invert_ticks_direction(self): + # self.major_ticks.set_tick_out(not self.major_ticks.get_tick_out()) + # self.minor_ticks.set_tick_out(not self.minor_ticks.get_tick_out()) + def set_axislabel_direction(self, label_direction): """ Adjust the direction of the axislabel. @@ -1190,9 +1211,10 @@ # set extra pad for major and minor ticklabels: # use ticksize of majorticks even for minor ticks. not clear what is best. + dpi_cor = renderer.points_to_pixels(1.) if self.major_ticks.get_visible() and self.major_ticks.get_tick_out(): - self.major_ticklabels._set_external_pad(self.major_ticks._ticksize) - self.minor_ticklabels._set_external_pad(self.major_ticks._ticksize) + self.major_ticklabels._set_external_pad(self.major_ticks._ticksize*dpi_cor) + self.minor_ticklabels._set_external_pad(self.major_ticks._ticksize*dpi_cor) else: self.major_ticklabels._set_external_pad(0) self.minor_ticklabels._set_external_pad(0) @@ -1301,9 +1323,20 @@ #pad_points = self.major_tick_pad - axislabel_pad = max([self.major_ticklabels._axislabel_pad, - self.minor_ticklabels._axislabel_pad]) + #print self._ticklabel_add_angle - self._axislabel_add_angle + #if abs(self._ticklabel_add_angle - self._axislabel_add_angle)%360 > 90: + if self._ticklabel_add_angle != self._axislabel_add_angle: + if (self.major_ticks.get_visible() and not self.major_ticks.get_tick_out()) \ + or \ + (self.minor_ticks.get_visible() and not self.major_ticks.get_tick_out()): + axislabel_pad = self.major_ticks._ticksize + else: + axislabel_pad = 0 + else: + axislabel_pad = max([self.major_ticklabels._axislabel_pad, + self.minor_ticklabels._axislabel_pad]) + #label_offset = axislabel_pad + self.LABELPAD #self.label._set_offset_radius(label_offset) @@ -1341,6 +1374,7 @@ self._draw_line(renderer) + self._draw_ticks(renderer) #self._draw_offsetText(renderer) Modified: trunk/matplotlib/lib/mpl_toolkits/axes_grid/axislines.py =================================================================== --- trunk/matplotlib/lib/mpl_toolkits/axes_grid/axislines.py 2010年03月02日 01:47:48 UTC (rev 8166) +++ trunk/matplotlib/lib/mpl_toolkits/axes_grid/axislines.py 2010年03月02日 01:47:54 UTC (rev 8167) @@ -336,11 +336,16 @@ get_label_transform() returns a transform of (transAxes+offset) """ loc = self._axis_direction - angle = dict(left=0, - right=0, - bottom=.5*np.pi, - top=.5*np.pi)[loc] + #angle = dict(left=0, + # right=0, + # bottom=.5*np.pi, + # top=.5*np.pi)[loc] + if self.nth_coord == 0: + angle = 0 + else: + angle = 90 + _verts = [0.5, 0.5] fixed_coord = 1-self.nth_coord @@ -369,6 +374,11 @@ else: angle_normal, angle_tangent = 0, 90 + if self.nth_coord == 0: + angle_normal, angle_tangent = 90, 0 + else: + angle_normal, angle_tangent = 0, 90 + #angle = 90 - 90 * self.nth_coord major = self.axis.major This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8166 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8166&view=rev Author: leejjoon Date: 2010年03月02日 01:47:48 +0000 (2010年3月02日) Log Message: ----------- update axes_grid.axislines doc. Modified Paths: -------------- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/demo_ticklabel_direction.py trunk/matplotlib/doc/mpl_toolkits/axes_grid/users/axislines.rst Added Paths: ----------- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step01.py trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step02.py trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step03.py trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step04.py trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction01.py trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction02.py trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction03.py Added: trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step01.py =================================================================== --- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step01.py (rev 0) +++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step01.py 2010年03月02日 01:47:48 UTC (rev 8166) @@ -0,0 +1,25 @@ +import matplotlib.pyplot as plt +import mpl_toolkits.axes_grid.axislines as axislines + +def setup_axes(fig, rect): + ax = axislines.Subplot(fig, rect) + fig.add_axes(ax) + + ax.set_ylim(-0.1, 1.5) + ax.set_yticks([0, 1]) + + ax.axis[:].set_visible(False) + + ax.axis["x"] = ax.new_floating_axis(1, 0.5) + ax.axis["x"].set_axisline_style("->", size=1.5) + + return ax + +fig = plt.figure(figsize=(3,2.5)) +fig.subplots_adjust(top=0.8) +ax1 = setup_axes(fig, "111") + +ax1.axis["x"].set_axis_direction("left") + + +plt.show() Added: trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step02.py =================================================================== --- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step02.py (rev 0) +++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step02.py 2010年03月02日 01:47:48 UTC (rev 8166) @@ -0,0 +1,36 @@ +import matplotlib.pyplot as plt +import mpl_toolkits.axes_grid.axislines as axislines + +def setup_axes(fig, rect): + ax = axislines.Subplot(fig, rect) + fig.add_axes(ax) + + ax.set_ylim(-0.1, 1.5) + ax.set_yticks([0, 1]) + + #ax.axis[:].toggle(all=False) + #ax.axis[:].line.set_visible(False) + ax.axis[:].set_visible(False) + + ax.axis["x"] = ax.new_floating_axis(1, 0.5) + ax.axis["x"].set_axisline_style("->", size=1.5) + + return ax + +fig = plt.figure(figsize=(6,2.5)) +fig.subplots_adjust(bottom=0.2, top=0.8) + +ax1 = setup_axes(fig, "121") +ax1.axis["x"].set_ticklabel_direction("+") +ax1.annotate("ticklabel direction=$+$", (0.5, 0), xycoords="axes fraction", + xytext=(0, -10), textcoords="offset points", + va="top", ha="center") + +ax2 = setup_axes(fig, "122") +ax2.axis["x"].set_ticklabel_direction("-") +ax2.annotate("ticklabel direction=$-$", (0.5, 0), xycoords="axes fraction", + xytext=(0, -10), textcoords="offset points", + va="top", ha="center") + + +plt.show() Added: trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step03.py =================================================================== --- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step03.py (rev 0) +++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step03.py 2010年03月02日 01:47:48 UTC (rev 8166) @@ -0,0 +1,40 @@ +import matplotlib.pyplot as plt +import mpl_toolkits.axes_grid.axislines as axislines + +def setup_axes(fig, rect): + ax = axislines.Subplot(fig, rect) + fig.add_axes(ax) + + ax.set_ylim(-0.1, 1.5) + ax.set_yticks([0, 1]) + + #ax.axis[:].toggle(all=False) + #ax.axis[:].line.set_visible(False) + ax.axis[:].set_visible(False) + + ax.axis["x"] = ax.new_floating_axis(1, 0.5) + ax.axis["x"].set_axisline_style("->", size=1.5) + + return ax + +fig = plt.figure(figsize=(6,2.5)) +fig.subplots_adjust(bottom=0.2, top=0.8) + +ax1 = setup_axes(fig, "121") +ax1.axis["x"].label.set_text("Label") +ax1.axis["x"].toggle(ticklabels=False) +ax1.axis["x"].set_axislabel_direction("+") +ax1.annotate("label direction=$+$", (0.5, 0), xycoords="axes fraction", + xytext=(0, -10), textcoords="offset points", + va="top", ha="center") + +ax2 = setup_axes(fig, "122") +ax2.axis["x"].label.set_text("Label") +ax2.axis["x"].toggle(ticklabels=False) +ax2.axis["x"].set_axislabel_direction("-") +ax2.annotate("label direction=$-$", (0.5, 0), xycoords="axes fraction", + xytext=(0, -10), textcoords="offset points", + va="top", ha="center") + + +plt.show() Added: trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step04.py =================================================================== --- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step04.py (rev 0) +++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step04.py 2010年03月02日 01:47:48 UTC (rev 8166) @@ -0,0 +1,54 @@ +import matplotlib.pyplot as plt +import mpl_toolkits.axes_grid.axislines as axislines + +def setup_axes(fig, rect): + ax = axislines.Subplot(fig, rect) + fig.add_axes(ax) + + ax.set_ylim(-0.1, 1.5) + ax.set_yticks([0, 1]) + + ax.axis[:].set_visible(False) + + ax.axis["x1"] = ax.new_floating_axis(1, 0.3) + ax.axis["x1"].set_axisline_style("->", size=1.5) + + ax.axis["x2"] = ax.new_floating_axis(1, 0.7) + ax.axis["x2"].set_axisline_style("->", size=1.5) + + return ax + +fig = plt.figure(figsize=(6,2.5)) +fig.subplots_adjust(bottom=0.2, top=0.8) + +ax1 = setup_axes(fig, "121") +ax1.axis["x1"].label.set_text("rotation=0") +ax1.axis["x1"].toggle(ticklabels=False) + +ax1.axis["x2"].label.set_text("rotation=10") +ax1.axis["x2"].label.set_rotation(10) +ax1.axis["x2"].toggle(ticklabels=False) + +ax1.annotate("label direction=$+$", (0.5, 0), xycoords="axes fraction", + xytext=(0, -10), textcoords="offset points", + va="top", ha="center") + +ax2 = setup_axes(fig, "122") + +ax2.axis["x1"].set_axislabel_direction("-") +ax2.axis["x2"].set_axislabel_direction("-") + +ax2.axis["x1"].label.set_text("rotation=0") +ax2.axis["x1"].toggle(ticklabels=False) + +ax2.axis["x2"].label.set_text("rotation=10") +ax2.axis["x2"].label.set_rotation(10) +ax2.axis["x2"].toggle(ticklabels=False) + + +ax2.annotate("label direction=$-$", (0.5, 0), xycoords="axes fraction", + xytext=(0, -10), textcoords="offset points", + va="top", ha="center") + + +plt.show() Modified: trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/demo_ticklabel_direction.py =================================================================== --- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/demo_ticklabel_direction.py 2010年03月01日 15:58:51 UTC (rev 8165) +++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/demo_ticklabel_direction.py 2010年03月02日 01:47:48 UTC (rev 8166) @@ -33,8 +33,8 @@ ax.axis["right"].set_axis_direction("left") ax.axis["top"].set_axis_direction("bottom") -ax.axis["left"].major_ticklabels.set_pad(0) -ax.axis["bottom"].major_ticklabels.set_pad(10) +#ax.axis["left"].major_ticklabels.set_pad(0) +#ax.axis["bottom"].major_ticklabels.set_pad(10) Added: trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction01.py =================================================================== --- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction01.py (rev 0) +++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction01.py 2010年03月02日 01:47:48 UTC (rev 8166) @@ -0,0 +1,15 @@ +import matplotlib.pyplot as plt +import mpl_toolkits.axes_grid.axislines as axislines + +fig = plt.figure(figsize=(4,2.5)) +ax1 = fig.add_subplot(axislines.Subplot(fig, "111")) +fig.subplots_adjust(right=0.8) + +ax1.axis["left"].major_ticklabels.set_axis_direction("top") +ax1.axis["left"].label.set_text("Label") + +ax1.axis["right"].label.set_visible(True) +ax1.axis["right"].label.set_text("Label") +ax1.axis["right"].label.set_axis_direction("left") + +plt.show() Added: trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction02.py =================================================================== --- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction02.py (rev 0) +++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction02.py 2010年03月02日 01:47:48 UTC (rev 8166) @@ -0,0 +1,21 @@ + +import matplotlib.pyplot as plt +import mpl_toolkits.axes_grid.axislines as axislines + +def setup_axes(fig, rect): + ax = axislines.Subplot(fig, rect) + fig.add_subplot(ax) + + ax.set_yticks([0.2, 0.8]) + ax.set_xticks([0.2, 0.8]) + + return ax + +fig = plt.figure(1, figsize=(4, 2)) +ax = setup_axes(fig, "111") + +ax.axis[:].major_ticks.set_tick_out(True) + +plt.show() + + Added: trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction03.py =================================================================== --- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction03.py (rev 0) +++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction03.py 2010年03月02日 01:47:48 UTC (rev 8166) @@ -0,0 +1,31 @@ + +import matplotlib.pyplot as plt +import mpl_toolkits.axes_grid.axislines as axislines + +def setup_axes(fig, rect): + ax = axislines.Subplot(fig, rect) + fig.add_subplot(ax) + + ax.set_yticks([0.2, 0.8]) + ax.set_xticks([0.2, 0.8]) + + return ax + +fig = plt.figure(1, figsize=(5, 2)) +fig.subplots_adjust(wspace=0.4, bottom=0.3) + +ax1 = setup_axes(fig, "121") +ax1.set_xlabel("X-label") +ax1.set_ylabel("Y-label") + +ax1.axis[:].invert_ticklabel_direction() + +ax2 = setup_axes(fig, "122") +ax2.set_xlabel("X-label") +ax2.set_ylabel("Y-label") + +ax2.axis[:].major_ticks.set_tick_out(True) + +plt.show() + + Modified: trunk/matplotlib/doc/mpl_toolkits/axes_grid/users/axislines.rst =================================================================== --- trunk/matplotlib/doc/mpl_toolkits/axes_grid/users/axislines.rst 2010年03月01日 15:58:51 UTC (rev 8165) +++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/users/axislines.rst 2010年03月02日 01:47:48 UTC (rev 8166) @@ -102,7 +102,52 @@ The ticklabels and axislabel of the top and the right axis are set to not visible. +For example, if you want to change the color attributes of +major_ticklabels of the bottom x-axis :: + ax.axis["bottom"].major_ticklabels.set_color("b") + +Similarly, to make ticklabels invisible :: + + ax.axis["bottom"].major_ticklabels.set_visible(False) + +AxisAritst provides a helper method to control the visibility of ticks, ticklabels, and label. To make ticklabel invisible, :: + + ax.axis["bottom"].toggle(ticklabels=False) + +To make all of ticks, ticklabels, and (axis) label invisible :: + + ax.axis["bottom"].toggle(all=False) + +To turn all off but ticks on :: + + ax.axis["bottom"].toggle(all=False, ticks=True) + +To turn all on but (axis) label off :: + + ax.axis["bottom"].toggle(all=True, label=False)) + + +ax.axis's __getitem__ method can take multiple axis names. For +example, to turn ticklabels of "top" and "right" axis on, :: + + ax.axis["top","right"].toggle(ticklabels=True)) + +Note that 'ax.axis["top","right"]' returns a simple proxy object that translate above code to something like below. :: + + for n in ["top","right"]: + ax.axis[n].toggle(ticklabels=True)) + +So, any return values in the for loop are ignored. And you shoud not +use it anything more than a simple method. + +Like the list indexing ":" means all items, i.e., :: + + ax.axis[:].major_ticks.set_color("r") + +changes tick color in all axis. + + HowTo ===== @@ -138,25 +183,149 @@ To change the pad between ticklabels and axis label, axis.label.set_pad method. -Examples -======== -Adjusting axis_direction ------------------------- +Rotaion and Alignment of TickLabels +=================================== +This is also quite different from the original mpl and can be +confusing. When you want to rotate the ticklabels, first consider +using "set_axis_direction" method. :: + + ax1.axis["left"].major_ticklabels.set_axis_direction("top") + ax1.axis["right"].label.set_axis_direction("left") + +.. plot:: mpl_toolkits/axes_grid/figures/simple_axis_direction01.py + +The parameter for set_axis_direction is one of ["left", "right", +"bottom", "top"]. + +You must understand some underlying concept of directions. + + 1. There is a reference direction which is defined as the direction + of the axis line with increasing coordinate. For example, the + reference direction of the left x-axis is from bottom to top. + + .. plot:: mpl_toolkits/axes_grid/figures/axis_direction_demo_step01.py + + The direction, text angle, and alignments of the ticks, ticklabels and + axis-label is determined width respect to the reference direction + + 2. *ticklabel_direction* is either the right-hand side (+) of the + reference direction or the left-hand side (-). + + .. plot:: mpl_toolkits/axes_grid/figures/axis_direction_demo_step02.py + + 3. same for the *label_direction* + + .. plot:: mpl_toolkits/axes_grid/figures/axis_direction_demo_step03.py + + 4. ticks are by default drawn toward the opposite direction of the ticklabels. + + 5. text rotation of ticklabels and label is determined in reference + to the *ticklabel_direction* or *label_direction*, + respectively. The rotation of ticklabels and tlabel is anchored. + + .. plot:: mpl_toolkits/axes_grid/figures/axis_direction_demo_step04.py + + +On the other hand, there is a concept of "axis_direction". This is a +default setting of above properties for each, "bottom", "left", "top", +and "right" axis. + + ========== =========== ========= ========== ========= ========== + ? ? left bottom right top + ---------- ----------- --------- ---------- --------- ---------- + axislabel direction '-' '+' '+' '-' + axislabel rotation 180 0 0 180 + axislabel va center top center bottom + axislabel ha right center right center + ticklabel direction '-' '+' '+' '-' + ticklabels rotation 90 0 -90 180 + ticklabel ha right center right center + ticklabel va center baseline center baseline + ========== =========== ========= ========== ========= ========== + + +And, 'set_axis_direction("top")' means to adjust the text rotation +etc, for settings suitable for "top" axis. The concept of axis +direction can be more clear with curved axis. + .. plot:: mpl_toolkits/axes_grid/figures/demo_axis_direction.py +The axis_drection can be adjusted in the AxisArtist level, or in the +level of its child arists, i.e., ticks, ticklabels, and axis-label. :: + + ax1.axis["left"].set_axis_direction("top") + +changes axis_direction of all the associated artist with the "left" +axis, while :: + + ax1.axis["left"].major_ticklabels.set_axis_direction("top") + +changes the axis_direction of only the major_ticklabels. Note that +set_axis_direction in the AxisArtist level changes the +ticklabel_direction and label_direction, while chainging the +axis_direction of ticks, ticklabels, and axis-label does not affect +them. + + +If you want to make ticks outward and ticklabels inside the axes, +use invert_ticklabel_direction method. :: + + ax.axis[:].invert_ticklabel_direction() + +A related method is "set_tick_out". It makes ticks outward (as a +matter of fact, it makes ticks toward the opposite direction of the +default direction). :: + + ax.axis[:].major_ticks.set_tick_out(True) + +.. plot:: mpl_toolkits/axes_grid/figures/simple_axis_direction03.py + + +So, in summary, + + * AxisArtist's methods + * set_axis_direction : "left", "right", "bottom", or "top" + * set_ticklabel_direction : "+" or "-" + * set_axislabel_direction : "+" or "-" + * invert_ticklabel_direction + * Ticks' methods (major_ticks and minor_ticks) + * set_tick_out : True or False + * set_ticksize : size in points + * TickLabels' methods (major_ticklabels and minor_ticklabels) + * set_axis_direction : "left", "right", "bottom", or "top" + * set_rotation : angle with respect to the renference direction + * set_ha and set_va : see below + * AxisLabels' methods (label) + * set_axis_direction : "left", "right", "bottom", or "top" + * set_rotation : angle with respect to the renference direction + * set_ha and set_va + + + Adjusting ticklabels alignment ------------------------------ +Alignment of TickLabels are treated specially. See below + .. plot:: mpl_toolkits/axes_grid/figures/demo_ticklabel_alignment.py -Adjusting ticklabels pad ------------------------- +Adjusting pad +-------------- -.. plot:: mpl_toolkits/axes_grid/figures/demo_ticklabel_direction.py +To change the pad between ticks and ticklabels :: + ax.axis["left"].major_ticklabels.set_pad(10) +Or ticklabels and axis-label :: + + ax.axis["left"].label.set_pad(10) + + +.. plot:: mpl_toolkits/axes_grid/figures/simple_axis_pad.py + + GridHelper ========== This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8165 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8165&view=rev Author: jswhit Date: 2010年03月01日 15:58:51 +0000 (2010年3月01日) Log Message: ----------- update for geos-3.2.0 Modified Paths: -------------- trunk/toolkits/basemap/MANIFEST.in trunk/toolkits/basemap/README trunk/toolkits/basemap/doc/users/installing.rst Removed Paths: ------------- trunk/toolkits/basemap/geos-3.1.1/ Modified: trunk/toolkits/basemap/MANIFEST.in =================================================================== --- trunk/toolkits/basemap/MANIFEST.in 2010年03月01日 15:51:19 UTC (rev 8164) +++ trunk/toolkits/basemap/MANIFEST.in 2010年03月01日 15:58:51 UTC (rev 8165) @@ -94,7 +94,7 @@ include doc/make.py include doc/conf.py include doc/index.rst -recursive-include geos-3.1.1 * +recursive-include geos-3.2.0 * recursive-include lib/dap * recursive-include lib/httplib2 * recursive-include lib/dbflib * Modified: trunk/toolkits/basemap/README =================================================================== --- trunk/toolkits/basemap/README 2010年03月01日 15:51:19 UTC (rev 8164) +++ trunk/toolkits/basemap/README 2010年03月01日 15:58:51 UTC (rev 8165) @@ -12,7 +12,7 @@ numpy 1.1 (or higher) The GEOS (Geometry Engine - Open Source) library (version 3.1.1 or higher). -Source code is included in the geos-3.1.1 directory. +Source code is included in the geos-3.2.0 directory. PIL (http://pythonware.com/products/pil) is optional (only needed for Basemap warpimage and bluemarble methods). Modified: trunk/toolkits/basemap/doc/users/installing.rst =================================================================== --- trunk/toolkits/basemap/doc/users/installing.rst 2010年03月01日 15:51:19 UTC (rev 8164) +++ trunk/toolkits/basemap/doc/users/installing.rst 2010年03月01日 15:58:51 UTC (rev 8165) @@ -24,7 +24,7 @@ **Required libraries that ship with basemap** `GEOS <http://trac.osgeo.org/geos/>`__ (Geometry Engine - Open Source) library 3.1.1 or later. - Source code is included in the geos-3.1.1 directory. + Source code is included in the geos-3.2.0 directory. When building from source, must be built and installed separately from basemap (see build instructions below). Included in Windows binary installers. @@ -75,7 +75,7 @@ Then go to next step. If you don't have it, you can build it from the source code included with basemap by following these steps:: - cd geos-3.1.1 + cd geos-3.2.0 export GEOS_DIR=<where you want the libs and headers to go> # A reasonable choice on a Unix-like system is /usr/local, or # if you don't have permission to write there, your home directory. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.