小编CPB*_*PBL的帖子

如何确定matplotlib图例中的项目顺序?

我不得不重新订购传奇中的物品,当时我不认为我应该这样做.我尝试:

from pylab import *
clf()
ax=gca()
ht=ax.add_patch(Rectangle((1,1),1,1,color='r',label='Top',alpha=.01))
h1=ax.bar(1,2,label='Middle')
hb=ax.add_patch(Rectangle((1,1),1,1,color='k',label='Bottom',alpha=.01))
legend()
show()
Run Code Online (Sandbox Code Playgroud)

最终以中上方为底.我怎样才能得到正确的订单?它不是由创建顺序决定的吗?

代码导致错误的图例项目顺序

更新:以下内容可用于强制执行订单.我认为这可能是最简单的方法,这看起来很尴尬.问题是什么决定了原始订单?

hh=[ht,h1,hb]
legend([ht,h1.patches[0],hb],[H.get_label() for H in hh])
Run Code Online (Sandbox Code Playgroud)

python matplotlib legend

49
推荐指数
5
解决办法
3万
查看次数

python多处理:一些函数在完成时不返回(队列材料太大)

我正在使用多处理的进程和队列.我并行启动了几个函数,大多数表现得很好:它们完成后,它们的输出转到它们的Queue,它们显示为.is_alive()== False.但由于某种原因,一些功能不起作用.它们总是显示.is_alive()== True,即使在函数的最后一行(一个打印语句说"已完成")完成之后.无论我发布的功能集是什么,都会发生这种情况,即使它只有一个.如果不是并行运行,则函数表现良好并正常返回.什么样的事情可能是什么问题?

这是我用来管理作业的通用功能.我没有展示的是我传递给它的功能.它们很长,经常使用matplotlib,有时会启动一些shell命令,但我无法弄清楚失败的是什么共同点.

def  runFunctionsInParallel(listOf_FuncAndArgLists):
    """
    Take a list of lists like [function, arg1, arg2, ...]. Run those functions in parallel, wait for them all to finish, and return the list of their return values, in order.   
    """
    from multiprocessing import Process, Queue

    def storeOutputFFF(fff,theArgs,que): #add a argument to function for assigning a queue
        print 'MULTIPROCESSING: Launching %s in parallel '%fff.func_name
        que.put(fff(*theArgs)) #we're putting return value into queue
        print 'MULTIPROCESSING: Finished %s in parallel! '%fff.func_name
        # We …
Run Code Online (Sandbox Code Playgroud)

python queue multiprocessing

24
推荐指数
1
解决办法
1万
查看次数

从GitHub迁移到GitLab(作为POSIX环境中的遥控器)

我正在迁移到GitLab.我需要编辑包含"github"的工作站上的所有.git/config文件,并用"gitlab"替换该单词.我怀疑这可以通过一个find命令最轻松地完成,而不是git在每个文件夹中使用一个调用.

我想它会是这样的:

find ./ -name ".git/config" -type f -exec sed -i 's/github/gitlab/gI' {} \;
Run Code Online (Sandbox Code Playgroud)

这是一种安全/合理的方法吗?做这个的最好方式是什么?

编辑/更新:评论:我实际上不想为所有github repos做那个,因为它只是我控制的那些正在移动.我没有修改我的问题,但接受的答案包括仅针对一个github帐户的版本.我自己的答案下面最实际的是完成了改变每个文件的目标.

linux git github find gitlab

4
推荐指数
1
解决办法
110
查看次数

标签 统计

python ×2

find ×1

git ×1

github ×1

gitlab ×1

legend ×1

linux ×1

matplotlib ×1

multiprocessing ×1

queue ×1