- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章matplotlib之属性组合包(cycler)的使用由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
matplotlib的依赖包cycler是matplotlib自主开发的属性组合包,功能与内置模块itertools很多函数非常相似,可用于创建特殊的迭代器。matpoltlib在属性设置底层中使用了cycler包,典型的案例就是在多数据系列绘图中循环使用颜色、线条等外观设置。使用cycler可以避免构造多重循环,更简便、灵活的组合属性.
cycler包的API主要有三个:
cycler的基本功能是方便的将一个可哈希的对象(hashable)与一系列值进行映射。 根据下面的例子可知,cycler对象可以将关键字参数名称与序列进行一一映射,cycler对象是一个迭代器,迭代输出的对象为字典结构,键为关键字参数名称,值为序列的元素.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
In [
1
]:
from
cycler
import
cycler
In [
2
]: color_cycle
=
cycler(color
=
[
'r'
,
'g'
,
'b'
])
In [
3
]: color_cycle
Out[
3
]: cycler(
'color'
, [
'r'
,
'g'
,
'b'
])
In [
4
]:
len
(color_cycle)
Out[
4
]:
3
In [
5
]: color_cycle.keys
Out[
5
]: {
'color'
}
In [
6
]:
for
i
in
color_cycle:
...:
print
(i)
...:
{
'color'
:
'r'
}
{
'color'
:
'g'
}
{
'color'
:
'b'
}
|
cycler的基本功能与循环非常相似,cycler的强大在于创建复杂的属性组合.
两个cycler对象进行加法运算,相当于将两个对象的元素按次序一一组合,功能类似于Python内置的zip()函数.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
In [
1
]:
from
cycler
import
cycler
In [
2
]: color_cycle
=
cycler(color
=
[
'r'
,
'g'
,
'b'
])
In [
3
]: lw_cycle
=
cycler(lw
=
range
(
1
,
4
))
In [
4
]: wc
=
lw_cycle
+
color_cycle
In [
5
]:
for
s
in
wc:
...:
print
(s)
...:
{
'lw'
:
1
,
'color'
:
'r'
}
{
'lw'
:
2
,
'color'
:
'g'
}
{
'lw'
:
3
,
'color'
:
'b'
}
cycler函数传递多个关键字参数就相当于对这些参数进行加法运算
In [
1
]:
from
cycler
import
cycler
In [
2
]: wc
=
cycler(c
=
[
'r'
,
'g'
,
'b'
], lw
=
range
(
3
))
In [
3
]:
for
s
in
wc:
...:
print
(s)
...:
{
'c'
:
'r'
,
'lw'
:
0
}
{
'c'
:
'g'
,
'lw'
:
1
}
{
'c'
:
'b'
,
'lw'
:
2
}
|
两个cycler对象进行乘法运算,相当于求两个对象的元素的笛卡尔积,功能类似于Python内置的itertools.product()函数.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
In [
1
]:
from
cycler
import
cycler
In [
2
]: color_cycle
=
cycler(color
=
[
'r'
,
'g'
,
'b'
])
In [
3
]: m_cycle
=
cycler(marker
=
[
's'
,
'o'
])
In [
4
]: m_c
=
m_cycle
*
color_cycle
In [
5
]:
for
s
in
m_c:
...:
print
(s)
...:
{
'marker'
:
's'
,
'color'
:
'r'
}
{
'marker'
:
's'
,
'color'
:
'g'
}
{
'marker'
:
's'
,
'color'
:
'b'
}
{
'marker'
:
'o'
,
'color'
:
'r'
}
{
'marker'
:
'o'
,
'color'
:
'g'
}
{
'marker'
:
'o'
,
'color'
:
'b'
}
|
cycler对象与整数n相乘,相当于遍历n次cycler对象.
1
2
3
4
|
In [
1
]:
from
cycler
import
cycler
In [
2
]: color_cycle
=
cycler(color
=
[
'r'
,
'g'
,
'b'
])
In [
3
]: color_cycle
*
2
Out[
3
]: cycler(
'color'
, [
'r'
,
'g'
,
'b'
,
'r'
,
'g'
,
'b'
])
|
cycler对象拼接有一个前提就是两个对象必须有相同的键! 。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
In [
1
]:
from
cycler
import
cycler
In [
2
]: color_cycle
=
cycler(color
=
[
'r'
,
'g'
,
'b'
])
In [
3
]: color_cycle2
=
cycler(color
=
[
'c'
,
'm'
,
'y'
,
'k'
])
In [
4
]: color_cycle
=
color_cycle.concat(color_cycle2)
In [
5
]: color_cycle
Out[
6
]: cycler(
'color'
, [
'r'
,
'g'
,
'b'
,
'c'
,
'm'
,
'y'
,
'k'
])
In [
7
]: color_cycle3
=
cycler(gray
=
[
'0.5'
])
In [
8
]: color_cycle
=
color_cycle.concat(color_cycle3)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
ValueError Traceback (most recent call last)
ValueError: Keys do
not
match:
Intersection:
set
()
Disjoint: {
'color'
,
'gray'
}
|
cycler对象支持切片操作.
1
2
3
4
5
6
|
In [
1
]:
from
cycler
import
cycler
In [
2
]: color_cycle
=
cycler(color
=
[
'r'
,
'g'
,
'b'
])
In [
3
]: color_cycle[:
2
]
Out[
3
]: cycler(
'color'
, [
'r'
,
'g'
])
In [
4
]: color_cycle[::
-
1
]
Out[
4
]: cycler(
'color'
, [
'b'
,
'g'
,
'r'
])
|
使用cycler 。
1
2
3
4
5
6
7
8
9
10
|
from
cycler
import
cycler
import
matplotlib.pyplot as plt
color_cycle
=
cycler(color
=
[
'r'
,
'g'
,
'b'
])
m_cycle
=
cycler(marker
=
[
's'
,
'o'
])
m_c
=
m_cycle
*
color_cycle
for
i, j
in
enumerate
(m_c):
print
(i, j)
plt.plot([i, i],
*
*
j)
plt.show()
|
0 {'marker': 's', 'color': 'r'} 1 {'marker': 's', 'color': 'g'} 2 {'marker': 's', 'color': 'b'} 3 {'marker': 'o', 'color': 'r'} 4 {'marker': 'o', 'color': 'g'} 5 {'marker': 'o', 'color': 'b'} 。
1
2
3
4
5
6
7
8
9
10
11
|
import
matplotlib.pyplot as plt
marker
=
[
's'
,
'o'
]
color
=
[
'r'
,
'g'
,
'b'
]
n
=
0
for
i
in
marker:
for
j
in
color:
plt.plot([n, n], marker
=
i, c
=
j)
n
=
n
+
1
plt.show()
|
相对而言,使用cycler避免了多重循环,当属性种类较多时更简洁,更加灵活.
到此这篇关于matplotlib之属性组合包(cycler)的使用的文章就介绍到这了,更多相关matplotlib 属性组合包内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。
原文链接:https://blog.csdn.net/mighty13/article/details/113803613 。
最后此篇关于matplotlib之属性组合包(cycler)的使用的文章就讲到这里了,如果你想了解更多关于matplotlib之属性组合包(cycler)的使用的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
你能比较一下属性吗 我想禁用文本框“txtName”。有两种方式 使用javascript,txtName.disabled = true 使用 ASP.NET, 哪种方法更好,为什么? 最佳答案 我
Count 属性 返回一个集合或 Dictionary 对象包含的项目数。只读。 object.Count object 可以是“应用于”列表中列出的任何集合或对
CompareMode 属性 设置并返回在 Dictionary 对象中比较字符串关键字的比较模式。 object.CompareMode[ = compare] 参数
Column 属性 只读属性,返回 TextStream 文件中当前字符位置的列号。 object.Column object 通常是 TextStream 对象的名称。
AvailableSpace 属性 返回指定的驱动器或网络共享对于用户的可用空间大小。 object.AvailableSpace object 应为 Drive 
Attributes 属性 设置或返回文件或文件夹的属性。可读写或只读(与属性有关)。 object.Attributes [= newattributes] 参数 object
AtEndOfStream 属性 如果文件指针位于 TextStream 文件末,则返回 True;否则如果不为只读则返回 False。 object.A
AtEndOfLine 属性 TextStream 文件中,如果文件指针指向行末标记,就返回 True;否则如果不是只读则返回 False。 object.AtEn
RootFolder 属性 返回一个 Folder 对象,表示指定驱动器的根文件夹。只读。 object.RootFolder object 应为 Dr
Path 属性 返回指定文件、文件夹或驱动器的路径。 object.Path object 应为 File、Folder 或 Drive 对象的名称。 说明 对于驱动器,路径不包含根目录。
ParentFolder 属性 返回指定文件或文件夹的父文件夹。只读。 object.ParentFolder object 应为 File 或 Folder 对象的名称。 说明 以下代码
Name 属性 设置或返回指定的文件或文件夹的名称。可读写。 object.Name [= newname] 参数 object 必选项。应为 File 或&
Line 属性 只读属性,返回 TextStream 文件中的当前行号。 object.Line object 通常是 TextStream 对象的名称。 说明 文件刚
Key 属性 在 Dictionary 对象中设置 key。 object.Key(key) = newkey 参数 object 必选项。通常是 Dictionary 
Item 属性 设置或返回 Dictionary 对象中指定的 key 对应的 item,或返回集合中基于指定的 key 的&
IsRootFolder 属性 如果指定的文件夹是根文件夹,返回 True;否则返回 False。 object.IsRootFolder object 应为&n
IsReady 属性 如果指定的驱动器就绪,返回 True;否则返回 False。 object.IsReady object 应为 Drive&nbs
FreeSpace 属性 返回指定的驱动器或网络共享对于用户的可用空间大小。只读。 object.FreeSpace object 应为 Drive 对象的名称。
FileSystem 属性 返回指定的驱动器使用的文件系统的类型。 object.FileSystem object 应为 Drive 对象的名称。 说明 可
Files 属性 返回由指定文件夹中所有 File 对象(包括隐藏文件和系统文件)组成的 Files 集合。 object.Files object&n
我是一名优秀的程序员,十分优秀!