参考
1
|
import matplotlib.pyplot as plt
|
matplotlib图标正常显示中文
为了在图表中能够显示中文和负号等,需要下面一段设置:
1
|
import matplotlib.pyplot as plt
|
matplotlib inline和pylab inline
可以使用ipython --pylab打开ipython命名窗口。
1
|
%matplotlib inline #notebook模式下
|
这两个命令都可以在绘图时,将图片内嵌在交互窗口,而不是弹出一个图片窗口,但是,有一个缺陷:除非将代码一次执行,否则,无法叠加绘图,因为在这两种模式下,是要有plt出现,图片会立马show出来,因此:
推荐在ipython notebook时使用,这样就能很方便的一次编辑完代码,绘图。
为项目设置matplotlib参数
在代码执行过程中,有两种方式更改参数:
- 使用参数字典(rcParams)
- 调用matplotlib.rc()命令 通过传入关键字元祖,修改参数
如果不想每次使用matplotlib时都在代码部分进行配置,可以修改matplotlib的文件参数。可以用matplot.get_config()命令来找到当前用户的配置文件目录。
配置文件包括以下配置项:
axex: 设置坐标轴边界和表面的颜色、坐标刻度值大小和网格的显示
backend: 设置目标暑促TkAgg和GTKAgg
figure: 控制dpi、边界颜色、图形大小、和子区( subplot)设置
font: 字体集(font family)、字体大小和样式设置
grid: 设置网格颜色和线性
legend: 设置图例和其中的文本的显示
line: 设置线条(颜色、线型、宽度等)和标记
patch: 是填充2D空间的图形对象,如多边形和圆。控制线宽、颜色和抗锯齿设置等。
savefig: 可以对保存的图形进行单独设置。例如,设置渲染的文件的背景为白色。
verbose: 设置matplotlib在执行期间信息输出,如silent、helpful、debug和debug-annoying。
xticks和yticks: 为x,y轴的主刻度和次刻度设置颜色、大小、方向,以及标签大小。线条相关属性标记设置
用来该表线条的属性
| 线条风格linestyle或ls | 描述 | 线条风格linestyle或ls | 描述 | |
|---|---|---|---|---|
| ‘-‘ | 实线 | ‘:’ | 虚线 | |
| ‘–’ | 破折线 | ‘None’,’ ‘,’’ | 什么都不画 | |
| ‘-.’ | 点划线 |
线条标记
| 标记maker | 描述 | 标记 | 描述 | |
|---|---|---|---|---|
| ‘o’ | 圆圈 | ‘.’ | 点 | |
| ‘D’ | 菱形 | ‘s’ | 正方形 | |
| ‘h’ | 六边形1 | ‘*’ | 星号 | |
| ‘H’ | 六边形2 | ‘d’ | 小菱形 | |
| ‘_’ | 水平线 | ‘v’ | 一角朝下的三角形 | |
| ‘8’ | 八边形 | ‘<’ | 一角朝左的三角形 | |
| ‘p’ | 五边形 | ‘>’ | 一角朝右的三角形 | |
| ‘,’ | 像素 | ‘^’ | 一角朝上的三角形 | |
| ‘+’ | 加号 | ‘ | ‘ | 竖线 |
| ‘None’,’’,’ ‘ | 无 | ‘x’ | X |
颜色
可以通过调用matplotlib.pyplot.colors()得到matplotlib支持的所有颜色。
| 别名 | 颜色 | 别名 | 颜色 | |
|---|---|---|---|---|
| b | 蓝色 | g | 绿色 | |
| r | 红色 | y | 黄色 | |
| c | 青色 | k | 黑色 | |
| m | 洋红色 | w | 白色 |
如果这两种颜色不够用,还可以通过两种其他方式来定义颜色值:
- 使用HTML十六进制字符串
color='eeefff'使用合法的HTML颜色名字(’red’,’chartreuse’等)。 - 也可以传入一个归一化到[0,1]的RGB元祖。
color=(0.3,0.3,0.4)
很多方法可以介绍颜色参数,如title()。plt.tilte('Title in a custom color',color='#123456')
背景色
通过向如matplotlib.pyplot.axes()或者matplotlib.pyplot.subplot()这样的方法提供一个axisbg参数,可以指定坐标这的背景色。
subplot(111,axisbg=(0.1843,0.3098,0.3098)
基础
如果你向plot()指令提供了一维的数组或列表,那么matplotlib将默认它是一系列的y值,并自动为你生成x的值。默认的x向量从0开始并且具有和y同样的长度,因此x的数据是[0,1,2,3].
确定坐标范围
- plt.axis([xmin, xmax, ymin, ymax])
上面例子里的axis()命令给定了坐标范围。 - xlim(xmin, xmax)和ylim(ymin, ymax)来调整x,y坐标范围
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
x = np.arange(-5.0, 5.0, 0.02)
y1 = np.sin(x)
plt.figure(1)
plt.subplot(211)
plt.plot(x, y1)
plt.subplot(212)
#设置x轴范围
xlim(-2.5, 2.5)
#设置y轴范围
ylim(-1, 1)
plt.plot(x, y1)
叠加图
用一条指令画多条不同格式的线。
1
|
import numpy as np
|
plt.figure()
你可以多次使用figure命令来产生多个图,其中,图片号按顺序增加。这里,要注意一个概念当前图和当前坐标。所有绘图操作仅对当前图和当前坐标有效。通常,你并不需要考虑这些事,下面的这个例子为大家演示这一细节。
1
|
import matplotlib.pyplot as plt
|
figure感觉就是给图像ID,之后可以索引定位到它。
plt.text()添加文字说明
- text()可以在图中的任意位置添加文字,并支持LaTex语法
- xlable(), ylable()用于添加x轴和y轴标签
- title()用于添加图的题目
1
|
import numpy as np
|
plt.annotate()文本注释
在数据可视化的过程中,图片中的文字经常被用来注释图中的一些特征。使用annotate()方法可以很方便地添加此类注释。在使用annotate时,要考虑两个点的坐标:被注释的地方xy(x, y)和插入文本的地方xytext(x, y)。[^1]
1
|
import numpy as np
|
plt.xticks()/plt.yticks()设置轴记号
现在是明白干嘛用的了,就是人为设置坐标轴的刻度显示的值。
1
|
# 导入 matplotlib 的所有内容(nympy 可以用 np 这个名字来使用)
|

当我们设置记号的时候,我们可以同时设置记号的标签。注意这里使用了 LaTeX。[^2]
[^2]:Matplotlib 教程
移动脊柱 坐标系
1
|
ax = gca()
|
这个地方确实没看懂,囧,以后再说吧,感觉就是移动了坐标轴的位置。
plt.legend()添加图例
1
|
plot(X, C, color="blue", linewidth=2.5, linestyle="-", label="cosine")
|
matplotlib.pyplot
使用plt.style.use('ggplot')命令,可以作出ggplot风格的图片。
1
|
# Import necessary packages
|
给特殊点做注释
好吧,又是注释,多个例子参考一下!
我们希望在 2π/32π/3 的位置给两条函数曲线加上一个注释。首先,我们在对应的函数图像位置上画一个点;然后,向横轴引一条垂线,以虚线标记;最后,写上标签。
1
|
t = 2*np.pi/3
|
plt.subplot()
plt.subplot(2,3,1)表示把图标分割成2*3的网格。也可以简写plt.subplot(231)。其中,第一个参数是行数,第二个参数是列数,第三个参数表示图形的标号。
plt.axes()
我们先来看什么是Figure和Axes对象。在matplotlib中,整个图像为一个Figure对象。在Figure对象中可以包含一个,或者多个Axes对象。每个Axes对象都是一个拥有自己坐标系统的绘图区域。其逻辑关系如下^3:
- axes() by itself creates a default full subplot(111) window axis.
- axes(rect, axisbg=’w’) where rect = [left, bottom, width, height] in normalized (0, 1) units. axisbg is the background color for the axis, default white.
- axes(h) where h is an axes instance makes h the current axis. An Axes instance is returned.
rect=[左, 下, 宽, 高] 规定的矩形区域,rect矩形简写,这里的数值都是以figure大小为比例,因此,若是要两个axes并排显示,那么axes[2]的左=axes[1].左+axes[1].宽,这样axes[2]才不会和axes[1]重叠。
show code:
1
|
http://matplotlib.org/examples/pylab_examples/axes_demo.html
|
[^3]:绘图: matplotlib核心剖析
pyplot.pie参数
colors颜色
找出matpltlib.pyplot.plot中的colors可以取哪些值?
- so-Named colors in matplotlib
- CSDN-matplotlib学习之(四)设置线条颜色、形状
1
2for name,hex in matplotlib.colors.cnames.iteritems():
print name,hex
打印颜色值和对应的RGB值。
plt.axis('equal')避免比例压缩为椭圆
autopct
- How do I use matplotlib autopct?
1autopct enables you to display the percent value using Python string formatting. For example, if autopct='%.2f', then for each pie wedge, the format string is '%.2f' and the numerical percent value for that wedge is pct, so the wedge label is set to the string '%.2f'%pct.
Linux下使用docker搭建ftp服务器
Springboot2.0.4整合Mybatisplus
Springboot前后端分离项目,配置跨域
Nokia S40 系统配置
"Your profile could not be opened correctly" Google Chromium Browser 错误纠正
CLR AppDomain
iTunes下载提速
Which Programming Language?
linux下制作软盘镜像文件
- 最新文章
-
西西吹雪:从程序员到项目经理(一) 简单
田永强:优秀的JavaScript模块是怎样炼成的 简单
设计师需要的知识体系 简单
mysql load data 简单
redis学习资料汇集 简单
Web前端开发规范文档你需要知道的事 简单
西西吹雪:从程序员到项目经理(二) 简单
poj 3600 Subimage Recognition (枚举+dfs)
zoj 1089 Lotto
poj 3450 Corporate Identity (后缀数组)
- 热门文章
-
poj 2774 Long Long Message (后缀数组)
zoj 2058 The Archaeologist's Trouble II
poj 1222 & zoj 1354 EXTENDED LIGHTS OUT (枚举)
hdu 1272 小希的迷宫 (并查集)
hdu 4198 Quick out of the Harbour (bfs)
poj 3080 Blue Jeans (后缀数组)
zoj 1428 Magazine Delivery (DP)
poi操作excel
list分组根据某一个字段分组
Spring Boot@Component注解下的类无法@Autowired的问题









