我想使用matplotlib在python中绘制类似第二个图像的内容:

这背后的代码在这里:
#!/usr/bin/env python
from pylab import *
Z = rand(6,10)
subplot(2,1,1)
c = pcolor(Z)
title('default: no edges')
subplot(2,1,2)
c = pcolor(Z, edgecolors='k', linewidths=4)
title('thick edges')
show()
Run Code Online (Sandbox Code Playgroud)
现在,我有布尔值的列表,我只是想画一个灰色的每个矩形True值和红色为每个False价值.
说我只是这个:
a = array([True,False],[False,False])
Run Code Online (Sandbox Code Playgroud)
我应该将[0,1]中的值分配给True和False?
在Python中,我有一个嵌套列表,如下所示:
[ [[x1,y1,z1], [['0.9', 4], [0.8, 3], [0.5, 10], [0.1, 11]],
[[x2,y2,z2], [['1.0', 8], [0.8, 3], [0.2, 1], [0.1, 8]]
...]
Run Code Online (Sandbox Code Playgroud)
所以每个元素的形式如下:
[[3-tuple], [[val1, occurrences_of_val1], [val2, occurrences_of_val2],...]]
Run Code Online (Sandbox Code Playgroud)
第二个嵌套列表已按第一个项目排序(val1> val2> val3 ...),但我还希望3元组[x,y,z]按照两个条件按降序排列:
我该怎么做呢?可能与itemgetter,但我不确定在这种情况下.
使用rpy2,我想检查是否安装了给定的包.如果是,我导入它.如果没有,我先安装它.
如何检查是否已安装?
from rpy2 import *
if not *my package is installed*:
rpy2.interactive as r
r.importr("utils")
package_name = "my_package"
r.packages.utils.install_packages(package_name)
myPackage = importr("my_package")
Run Code Online (Sandbox Code Playgroud) 使用argparse,我希望用户指定6个值作为一个可选输入参数的参数.是否有内置方法来检查这些值是否为浮点数?
parser.add_argument("-e", nargs=6, metavar=('a', 'b', 'c', 'd', 'e', 'f'),
help="my help message",
default=None)
Run Code Online (Sandbox Code Playgroud) 我有一组大约6 000个数据包,为了进行比较,我将其表示为 字符串(前28个字节),以便与尽可能多的数据包进行比较,我也将其表示为28个字节的字符串.
我必须匹配一组中的每个数据包与所有其他数据包.匹配始终是唯一的.
我发现比较字符串需要一些时间.有没有办法加快这个过程?
EDIT1:我不想置换字符串元素因为我总是确保保留包列表和相应字符串列表之间的顺序.
EDIT2:这是我的实现:
list1, list2 # list of packets (no duplicates present in each list!)
listOfStrings1, listOfStrings2 # corresponding list of strings. Ordering is preserved.
alreadyMatchedlist2Indices = []
for list1Index in xrange(len(listOfStrings1)):
stringToMatch = listOfStrings1[list1Index]
matchinglist2Indices = [i for i, list2Str in enumerate(listOfStrings2)
if list2Str == stringToMatch and i not in alreadyMatchedlist2Indices]
if not matchinglist2Indices:
tmpUnmatched.append(list1Index)
elif len(matchinglist2Indices) == 1:
tmpMatched.append([list1Index, matchinglist2Indices[0]])
alreadyMatchedlist2Indices.append(matchinglist2Indices[0]) …Run Code Online (Sandbox Code Playgroud) 在matplotlib,如何在三维散点图中显示网格?
在二维图中我只是这样做:plt.grid(True)它就像一个魅力.现在使用3D绘图,同一个调用会返回一个警告:
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 2792, in grid
ret = gca().grid(b, which, axis, **kwargs)
TypeError: grid() takes at most 2 arguments (4 given)
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
我正在使用模块的Pool功能,multiprocessing以便在不同的数据上并行运行相同的代码.
事实证明,在某些数据上,我的代码会引发异常,但是没有给出发生这种情况的确切行:
Traceback (most recent call last):
File "my_wrapper_script.py", line 366, in <module>
main()
File "my_wrapper_script.py", line 343, in main
results = pool.map(process_function, folders)
File "/usr/lib64/python2.6/multiprocessing/pool.py", line 148, in map
return self.map_async(func, iterable, chunksize).get()
File "/usr/lib64/python2.6/multiprocessing/pool.py", line 422, in get
raise self._value
KeyError: 'some_key'
Run Code Online (Sandbox Code Playgroud)
我知道multiprocessing.log_to_stderr(),但似乎在并发问题出现时它很有用,这不是我的情况.
有任何想法吗?
我要检查,如果一个iptables规则存在(如看到这里),但我得到了以下错误:
$ sudo iptables-save | grep "-A OUTPUT -p tcp --tcp-flags RST RST -j DROP"
grep: OUTPUT -p tcp --tcp-flags RST RST -j DROP: invalid context length argument
Run Code Online (Sandbox Code Playgroud)
也许我必须逃脱一些角色?
在Python中,我有一个列表,如下所示:
[[1,2,3, 'L'], ['L'], [1]]
Run Code Online (Sandbox Code Playgroud)
我想为每个子列表计算所有数字元素的平均值.因此应排除值"L".以上示例的结果应该是:
[2, [], 1]
Run Code Online (Sandbox Code Playgroud)
有没有快速的方法在一行中这样做?
谢谢.
我需要在Python中运行以下(working)命令:
ip route list dev eth0 | awk ' /^default/ {print $3}'
Run Code Online (Sandbox Code Playgroud)
使用subprocess,我必须做以下事情:
first = "ip route list dev eth0"
second = "awk ' /^default/ {print $3}'"
p1 = subprocess.Popen(first.split(), stdout=subprocess.PIPE)
p2 = subprocess.Popen(second.split(), stdin=p1.stdout, stdout=subprocess.PIPE)
p1.stdout.close() # Allow p1 to receive a SIGPIPE if p2 exits.
output = p2.communicate()[0]
Run Code Online (Sandbox Code Playgroud)
出了点问题p2.我明白了:
>>> awk: cmd. line:1: '
awk: cmd. line:1: ^ invalid char ''' in expression
Run Code Online (Sandbox Code Playgroud)
我该怎么办?在终端上它完美运行.