NEKO

matplotlib入门

2018/03/12

matplotlib是python的一个2D绘图库
plt.plot()参数详解:http://blog.csdn.net/skyli114/article/details/77508136

demo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# encoding=utf-8
import sys
reload(sys)
sys.setdefaultencoding('gbk') #解决导入matplotlib.pyplot出现错误的问题
import matplotlib.pyplot as plt
import numpy as np
#基本配置
x=np.linspace(-np.pi,np.pi,100,endpoint=True) #创建100个-pi到pi之间的点,包含边界点
c,s=np.cos(x),np.sin(x) #c和s是cos(x)和sin(x)对应的100个点
plt.figure('demo') #新建一个叫demo的绘画窗口
plt.plot(x,c,color="blue",linewidth=1.0,linestyle="-.",label="cos",alpha=1) #把x,c的点画在画布上并连接起来,alpha控制颜色深浅0~1
plt.plot(x,s,'y-',label="sin") #把x,s的点画在画布上并连接起来
plt.title("cos&sin") #标题

#坐标轴设置
ax=plt.gca() #新建一个轴编辑器
ax.spines["right"].set_color("none") #右边界透明
ax.spines["top"].set_color("none") #上边界透明
ax.spines["left"].set_position(("data",0)) #左边界移动到数据域的0点
ax.spines["bottom"].set_position(("data",0))#下边界移动到数据域的0点

#坐标轴的坐标设置
ax.xaxis.set_ticks_position("bottom") #默认就是bottom改成top会很丑
ax.yaxis.set_ticks_position("left") #默认就是bottom改成right会很丑
# plt.xticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi],
# [r'$-\pi$', r'$-\pi/2$', r'$0$', r'$+\pi/2$', r'$+\pi$']) #设置x轴坐标
plt.yticks(np.linspace(-1,1,5,endpoint=True)) #y轴坐标从-1到1显示5个点,显示边界点
for label in ax.get_xticklabels()+ax.get_yticklabels():
label.set_fontsize(7) #设置坐标大小
label.set_bbox(dict(facecolor='green',edgecolor='black',alpha=0.5)) #设置坐标框

plt.legend(loc="upper left") #在左上角添加图例
plt.grid() #添加网格线
# plt.axis([-1,1,-1,1]) #划分显示范围
plt.fill_between(x,0.2,c,where=c>0.5,color='pink',alpha=0.25) #填充功能
plt.annotate("neko",xy=(1,np.cos(1)),xycoords="data",xytext=(+10,+30),textcoords="offset points",
arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=0.2"))#添加注释,偏移为相对偏移(+10,+30),箭头弧度为0.2
plt.show() #显示画布

子图


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# encoding=utf-8
import sys
reload(sys)
sys.setdefaultencoding('gbk') #解决导入matplotlib.pyplot出现错误的问题
import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure('neko')
x=np.arange(0,100)

ax1=fig.add_subplot(221)
ax1.plot(x,x)

ax2=fig.add_subplot(222)
ax2.plot(x,-x)

ax3=fig.add_subplot(223)
ax3.plot(x,np.power(x,2))

ax4=fig.add_subplot(224)
ax4.plot(x,np.log(x))

plt.show()

原文作者: n3k0

发表日期: March 12th 2018, 3:31:13

发出嘶吼: 没有魔夜2玩我要死了

CATALOG
  1. 1. demo
  2. 2. 子图