mac上缺少python颜色栏上的记号

mac上缺少python颜色栏上的记号,python,matplotlib,Python,Matplotlib,我有一个奇怪的问题,我很难解决。我正在使用python绘制netcdf文件中的一些变量。在这种情况下,是降水。当我在mac电脑上运行代码时,并非所有的记号都显示在颜色栏上。然而,当我在linux服务器上运行完全相同的代码时,所有的记号都会显示出来 我的mac电脑上的python路径是: ~:which python /opt/local/bin/python 如果您能就问题提出任何建议,我将不胜感激 MAC上缺少滴答声: Linux上不缺少记号: 我的代码是 #!/usr/bin/en

我有一个奇怪的问题,我很难解决。我正在使用python绘制netcdf文件中的一些变量。在这种情况下,是降水。当我在mac电脑上运行代码时,并非所有的记号都显示在颜色栏上。然而,当我在linux服务器上运行完全相同的代码时,所有的记号都会显示出来

我的mac电脑上的python路径是:

~:which python  
/opt/local/bin/python
如果您能就问题提出任何建议,我将不胜感激

MAC上缺少滴答声:

Linux上不缺少记号:

我的代码是

#!/usr/bin/env python
import matplotlib
matplotlib.use('Agg')
import numpy as np
import netCDF4 as nc
import matplotlib.pyplot as plt
import os,sys
from mpl_toolkits.basemap import Basemap

fil = str(sys.argv[1])

nc_f = nc.Dataset(fil,'r')
lats = nc_f.variables['XLAT'][0,:,:]
lons = nc_f.variables['XLONG'][0,:,:]
precip = nc_f.variables['PREC'][:,:,:]
nc_wrf.close()

precip_lvl=[0.0,0.1,0.5,1.0,1.5,2.0,3.0,4.0,5.0,7.0,10.0,15.0,20.0,25.0,30.0,35.0,40.0]
precip_color = [(1.00, 1.00, 1.00), (0.84, 0.69, 0.63),
(0.72,0.56,0.51), (0.80,0.86,1.00),(0.65,0.73,1.00),(0.49,0.63,1.00),
(0.37,0.42,0.97),(0.31,0.33,0.98),(0.13,0.57,0.09),
(0.20,0.71,0.18),(0.65,0.80,0.36),(0.68,0.99,0.36),(1.0,1.0,0.08),
(0.99,0.57,0.05),(0.86,0.00,0.02),(0.68,0.00,0.02),(0.42,0.00,0.02)]


 m = Basemap(projection='merc',llcrnrlat=50,urcrnrlat=60,\
        llcrnrlon=0,urcrnrlon=20,lat_ts=0,resolution='i')

x,y=m(lons,lats)
for indx in xrange(36):

    tmp = precip[indx,:,:]

    fig = plt.figure(figsize=(10,8))
    m.contourf(x,y,tmp,levels=precip_lvl, extend='both', colors=precip_color)
    plt.colorbar(shrink=0.8,ticks=precip_lvl)

    typ='.png'
    name='prec'
    plt.savefig(name+str(indx)+typ)

我将首先比较两台机器之间的版本号

import matplotlib
import mpl_toolkits.basemap
print(matplotlib.__version)
print(mpl_toolkits.basemap.__version__)

在我的mac电脑上,它给了我:1.5.0、1.0.7;在linux上,它给了我:1.3.1、1.0.7,所以matplotlib的版本是不同的。但这真的会导致问题吗?很可能旧版本中的某些错误已在新版本中修复。@Whir:您可能遇到了此错误:。我通过将matplotlib从1.5.0更新到1.5.1解决了此问题。不幸的是,我不知道是什么导致了此问题,但至少它现在正在工作。当它是由其他人的错误和已经修好了,何必麻烦呢?