欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

matplotlib(一):基本操作

程序员文章站 2022-05-27 16:11:54
...

参考文档:https://blog.csdn.net/qq_40589051/article/details/80574155

1.matplotlib的基本操作

import matplotlib.pyplot as plt
import numpy as np

#基本用法
x = np.linspace(-1,1,50)
y1 = 2*x + 1
plt.plot(x,y1)
plt.show()

matplotlib(一):基本操作

 

2.figure的使用

import matplotlib.pyplot as plt
import numpy as np

#figure图像
x = np.linspace(-1,1,50)
y1 = 2*x + 1
y2 = 3*x + 5

#设定画布一的大小 
plt.figure(num=1,figsize=(8,5))
plt.plot(x,y1)
#设置画布二的大小
plt.figure(num=2,figsize=(10,4))
plt.plot(x,y2)
 
plt.show()

弹出两个画布框,大小不同。

plt.plot画直线,可以设置颜色,线条宽度,以及线条样式,比如:

plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')

创建多张画布

import numpy as np
import matplotlib.pyplot as plt
 
#创建画布1,命名为fig1
fig1 = plt.figure(num='fig1',figsize=(6,3),dpi=75,facecolor='#666666',edgecolor='#0000FF')
#创建画布2,命名为fig2
fig2 = plt.figure(num='fig2',figsize=(6,3),dpi=75,facecolor='#FFFFFF',edgecolor='#FF0000')
#设置画布2的坐标范围
plt.xlim(0,20)
plt.ylim(0,10)

#**画布1
plt.figure(num='fig1')
plt.xlim(0,20)
plt.ylim(0,10)
 
plt.show()
plt.close()

3.设置坐标轴

 

import matplotlib.pyplot as plt
import numpy as np
 
#figure图像
x = np.linspace(-1,1,50)
y1 = 2*x + 1
y2 = 3*x + 5
 
plt.figure(num=1,figsize=(8,5))
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')
#设置x轴刻度范围
plt.xlim((-1,0.5))
plt.ylim((1,2))
#设置X轴坐标标签
plt.xlabel('xxxx')
plt.ylabel('yyyy')
plt.show()

matplotlib(一):基本操作

详细设置坐标轴的刻度,可以使用plt.xticks():

new_ticks = np.linspace(-1,1,10)
#设置刻度值
plt.xticks(new_ticks)

#设置刻度的具体含义
plt.yticks([1,1.5,2],['bad','ok','good'])
 

 

坐标轴图中一共有四根,left,right,bottom,top。可以对其进行删除,换色,换位置等操作。

ax = plt.gca()    #获取整个图
ax.spines['right'].set_color('none')    #将边框设置为无色
ax.spines['top'].set_color('none')

#把x轴移动到了y轴1.5的位置作为坐标原点。
ax.xaxis.set_ticks_position('bottom')    #将x轴移动
#outward,axes(按照不同的标准定位,data是其中一个标准。)
ax.spines['bottom'].set_position(('data',1.5))

 

matplotlib(一):基本操作

4.设置图例

有的时候图像上不止有一根线,为了区分和标注,得生成图例,以便于分析图像。

#!/usr/bin/python
#coding: utf-8
 
import numpy as np 
import matplotlib.pyplot as plt 
 
x = np.arange(1, 11, 1)
 
# plt.plot(x, x * 2, label = "First")
# plt.plot(x, x * 3, label = "Second")
# plt.plot(x, x * 4, label = "Third")
 
# loc 设置显示的位置,0是自适应
# ncol 设置显示的列数
# plt.legend(loc = 0, ncol = 2)
 
# 也可以这样指定label
label = ["First", "Second", "Third"]
plt.plot(x, x * 2)
plt.plot(x, x * 3)
plt.plot(x, x * 4)
plt.legend(label, loc = 0, ncol = 2)
plt.show()

结果如下图:

matplotlib(一):基本操作