Matplotlib基础
文章目录
- Matplotlib基础
- 00字体中文设置方法
-
-
-
- 一、基本用法(plt.show、plt.plot)
- 二、画布设置(plt.figure)
- 三、坐标轴设置(plt.xlabel,plt.xticks,plt.gca)
- 四、图例(plt.lengend)
- 五、标注(plt.annotation,plt.text)
- 六、能见度(tick)##方便让刻度不被线条挡住
- 七、散点图(plt.scatter)
- 八、柱形图(plt.bar)
- 九、等高线图(plt.contours)
- 十、图片(plt.imshow)热力图
- 十一、3D数据(Axes3D)
- 十二、多合一显示(plt.subplot)
- 十三、分格显示(plt.subplots)
- 十四、图中图
- 十五、主次坐标轴
-
-
00字体中文设置方法
一、基本用法(plt.show、plt.plot)
plot参数:
- x,y###分别是点坐标列表。x=[1,2,3],y=[4,5,6],表示传入(1,4)、(2,5)、(3,6)坐标点
- color=‘red’##表示线条颜色为红色
- linewidth=1###表示线条粗细为1
- linestyle=‘–’###表示线条用虚线表示
- label=‘two’##表示线条名字为two
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,2,50) ##生成-1到2的数,平均分为50个数
y1=2*x+1
y2=x*x
plt.plot(x,y1)
plt.show()
二、画布设置(plt.figure)
figure参数:
- num=2####图表序号,表示第二张画布
- figsize=(10,8)###表示画布大小长10宽8
plt.figure(num=2,figsize=(10,8))
plt.plot(x,y1)
plt.plot(x,y2,color='red',linewidth=1.0,linestyle='--')
plt.show()
三、坐标轴设置(plt.xlabel,plt.xticks,plt.gca)
(一)
xlim参数:
- (-1,10)##表示图表显示的x轴数据范围为-1到10
xlabel参数:
- ‘i am X’##表示图表的x轴名称为 i am X
xticks参数:
- [1,2,3],[r’ s u p e r g o o d super\ good super good’,‘normal’,‘bad’]###两个列表,前一个列表表示x轴上相应的数值刻度,后一个列表表示用什么字符代替该数值,这里就是用super good,normal ,bad分别代替1,2,3。R表示正则表达,这里是可以使用不同的字体格式,图片里的super good和normal是不一样的字体格式
x_ticks=np.linspace(1,2,5)
plt.xlim((-1,10))
plt.ylim((-1,10))
plt.xlabel('i am X')
plt.xticks([1,2,3],
[r'$super\ good$','normal','bad'])
plt.plot(x,y2)
plt.show()
(二)
gca参数:
- 暂无,需要实例化
gca方法:(gca为得到当前的坐标轴,一张图表对应上下左右四根轴,代码中的操作为把左下两根轴分别设置为y,x轴,之后分别把两根轴的位置定在x=0,y=0的位置上)
#gca=get current axis
ax=plt.gca()
ax.spines['right'].set_color('none')###把右边的轴颜色设置为无色
ax.spines['top'].set_color('none')###把上边的轴颜色设置为无色
ax.xaxis.set_ticks_position('bottom')###把下边的轴设置为x轴
ax.yaxis.set_ticks_position('left')###把左边的轴设置为y轴
ax.spines['bottom'].set_position(('data',0))#outward ,axes把下边的轴定在y=0的地方
ax.spines['left'].set_position(('data',0))#把左边的轴定在x=0的地方
plt.xlim((-2,2))
plt.ylim((-2,2))
plt.show()
四、图例(plt.lengend)
legend参数:
- handles=[l1,]### 表示为线条,需要画图的时候实例化对象l1
- labels=[‘three’,]###表示图例名字,即l1的名字是three(这个可以省去,如果在画线条的时候已经给了线条名字,当两者同时存在时,以legend里labels参数为准)
- loc=‘best’ ##图例放在图表中的位置,best参数表示自动会放在最佳位置
l1,=plt.plot(x,y1,label='one')
l2,=plt.plot(x,y2,color='red',linewidth=1.0,linestyle='--',label='two')
plt.legend(handles=[l1,],labels=['three',],loc='best')
plt.show