【问题标题】:Legend markers appear several times图例标记出现多次
【发布时间】:2017-08-11 00:46:45
【问题描述】:

我需要在地图上绘制数据站点。例如,调查“DEPROAS”有五个站点,所以我需要绘制它们并将其插入图例指南中。但是,当我这样做时,它不是只绘制一次(代表这五个站),而是绘制五个 点。任何的想法?图和代码如下。

            #### DEPROAS #### - Cabo Frio

            fcf1=[-22-(59.030/60),-42-(07.340/60)]
            fcf2=[-23-(05.444/60),-41-(54.700/60)]
            fcf=[fcf1,fcf2]
            fcf=np.array(fcf)
            lat_fcf = fcf[0:len(fcf),0]
            lon_fcf = fcf[0:len(fcf),1]
            x_fcf,y_fcf=m(lon_fcf,lat_fcf)

            plt.plot(x_fcf[0],y_fcf[0], 'o', label='DEPROAS', color='#88ff4d', zorder = 3000)
            plt.plot(x_fcf[1],y_fcf[1], 'o', label='DEPROAS', color='#88ff4d', zorder = 3000)

            #### DEPROAS #### - Ubatuba
            fub1=[-23-(43.560/60),-44-(53.860/60)]
            fub2=[-24-(04.028/60),-44-(39.005/60)]  ##rever nos dados no lab
            fub=[fub1,fub2]
            fub=np.array(fub)
            lat_fub = fub[0:len(fub),0]
            lon_fub = fub[0:len(fub),1]
            x_fub,y_fub=m(lon_fub,lat_fub)

            plt.plot(x_fub[0],y_fub[0], 'o', label = 'DEPROAS', color='#88ff4d', zorder = 3000)
            plt.plot(x_fub[1],y_fub[1], 'o', label = 'DEPROAS', color='#88ff4d', zorder = 3000)

            #### DEPROAS #### - Guanabara

            fbg1=[-23-(18.34/60),-42-(45.81/60)]
            fbg=[fbg1]
            fbg=np.array(fbg)
            lat_fbg = fbg[0:len(fbg),0]
            lon_fbg = fbg[0:len(fbg),1]
            x_fbg,y_fbg=m(lon_fbg,lat_fbg)

            plt.plot(x_fbg[0],y_fbg[0], 'o', label = 'DEPROAS', color='#88ff4d', zorder = 3000)

【问题讨论】:

    标签: python matplotlib legend marker


    【解决方案1】:

    您绘制了 5 个带有标签“DEPROAS”的系列,因此您的图例包含所有这些标记和标签的 5 个条目。

    根据legend guide,您必须构建自定义图例并将所有所需的系列放在一个列表中并将其绘制在图例中:

    ...
    series1, = plt.plot(x_fub[0],y_fub[0], 'o', label = 'DEPROAS', color='#88ff4d', zorder = 3000)
    plt.plot(x_fub[1],y_fub[1], 'o', label = 'DEPROAS', color='#88ff4d', zorder = 3000)
    
    # make custom legend for series1
    plt.legend(handles=[series1], loc=2)
    ...
    

    【讨论】:

      猜你喜欢
      • 2021-12-26
      • 2014-11-20
      • 2011-09-03
      • 2011-11-02
      • 2012-09-13
      • 1970-01-01
      • 1970-01-01
      • 2019-09-18
      • 1970-01-01
      相关资源
      最近更新 更多