相关疑难解决方法(0)

itertools.cycle()旁边.()?

好吧,我使用itertools.cycle().next()Python 2.6.6的方法,但现在我更新到3.2我注意到itertools.cycle()对象没有方法next().

我用它在类的spin()方法中循环一个字符串Spinner.因此,如果我们循环元组('|', '/', '-', '\\', '|', '/', '-'),它会打印:|,/,-,\,|,/,-,|,/等...

我搜索了Python 3.0,3.1和3.2的发行说明,并没有发现任何变化.什么时候改变了?是否有任何简单的替代方案可以实现与以前相同的功能?

先感谢您.

cycle next python-itertools python-3.x

40
推荐指数
2
解决办法
2万
查看次数

Matplotlib:绘制具有非透明边缘的透明直方图

我正在绘制直方图,我有三个数据集,我想要一起绘制,每个数据集都有不同的颜色和线型(虚线,点线等).我也给了一些透明度,以便看到重叠的条形图.

关键是我希望每个条的边缘不会像内部部分那样变得透明.这是一个例子:

import matplotlib.pyplot as plt
import numpy as np

x = np.random.random(20)
y =np.random.random(20)
z= np.random.random(20)

fig = plt.figure()
ax = fig.add_subplot(111)
ax.hist(x, bins=np.arange(0, 1, 0.1), ls='dashed', alpha = 0.5, lw=3, color= 'b')
ax.hist(y, bins=np.arange(0, 1, 0.1), ls='dotted', alpha = 0.5, lw=3, color= 'r')
ax.hist(z, bins=np.arange(0, 1, 0.1), alpha = 0.5, lw=3, color= 'k')
ax.set_xlim(-0.5, 1.5)
ax.set_ylim(0, 7)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

python plot alpha matplotlib histogram

28
推荐指数
3
解决办法
6万
查看次数

让python的itertools循环当前元素

我知道你可以使用c = cycle(['a', 'b', 'c'])在元素之间循环c.next(),但是有没有得到迭代器的当前元素?

例如,如果c.next()返回'c',则表示迭代器在'b'之前.有没有办法可以'b'不使用next()

python python-2.7

7
推荐指数
1
解决办法
1040
查看次数

Twinx/Secondary-y:不要从第一种颜色开始

我有一个配色方案来自

plt.style.use('ggplot')
Run Code Online (Sandbox Code Playgroud)

所以我不想手动选择颜色,或者从颜色循环器中选择它们。但是,当我有一个辅助轴时:

fig, ax = plt.subplots()
ax2 = ax.twinx()
ax.plot(np.array([1, 2]))
ax2.plot(np.array([3, 4]))
Run Code Online (Sandbox Code Playgroud)

它将以相同的颜色绘制两条线。我如何判断ax2该图上已经n=1绘制了线条,以便它以第n+1th 种颜色开头?

python matplotlib

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

matplotlib colororder和twinx

我通过调整图的颜色顺序 rcParams['axes.color_cycle'] = [some nice and carefully chosen colours]

但是,当我将twinx用于第二个轴时,将重置颜色顺序:

 from matplotlib import pyplot as plt
 from matplotlib import rcParams
 rcParams['axes.color_cycle'] = ['r','g','k']
 fig = plt.figure()
 ax = fig.add_subplot(1,1,1)
 ax1 = plt.twinx(ax) 
 ax.plot([1,2,3],[4,5,6])
 ax.plot([1,2,3],[7,6,4])
 ax1.plot([1,2,3],[5,3,1])
Run Code Online (Sandbox Code Playgroud)

有办法避免这种情况吗?画在上面的线ax1应该是黑色的。

python matplotlib

3
推荐指数
1
解决办法
1507
查看次数