小编Lia*_*yre的帖子

在条形图上叠加箱线图 matplotlib/python

我试图在 matplotlib 中使用单独的 y 轴在条形图上叠加一组箱线图。我在任何地方都找不到示例,并且尝试了我能想到的所有方法ax.set_zorder()和 ax2.set_alpha()。有没有办法仅从箱线图设置背景不透明?ax.patch.set_facecolor('None')完全删除背景...

这是我尝试过的:

import matplotlib.pyplot as plt
import numpy as np

example_data = [1,2,1],[1,2,2,2],[3,2,1]

data = [i for i in example_data]

data_len = [len(i) for i in example_data]

labels = ['one','two','three']

plt.figure()

fig, ax = plt.subplots()

plt.boxplot(data)

ax.set_xticklabels(labels,rotation='vertical')


ax2 = ax.twinx()

ax2.bar(ax.get_xticks(),data_len,color='yellow', align='center')

ax2.set_zorder(1)

ax.set_zorder(2)

ax2.set_alpha(0.1)

ax.patch.set_facecolor('None')

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助。

python plot background matplotlib multiple-axes

5
推荐指数
1
解决办法
4820
查看次数

获取最低计数*的列表中的元素

我有一个列表,我想找到具有最低计数'*'的元素.

mylist = ['12*3','12345**6','11234']
Run Code Online (Sandbox Code Playgroud)

所以这个小测试的答案是'11234'

这有效但很慢(我正在使用大量的基因组数据:

sorted(mylist, key = lambda x: x.count('*'))[0]
Run Code Online (Sandbox Code Playgroud)

这不那么雄辩,但有效:

values = map(lambda x: x.count('*'), mylist)
print mylist[values.index(min(values))]
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?我试图做一个schwartzian变换,但无法弄明白.

python lambda list count min

2
推荐指数
1
解决办法
197
查看次数

标签 统计

python ×2

background ×1

count ×1

lambda ×1

list ×1

matplotlib ×1

min ×1

multiple-axes ×1

plot ×1