import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']# 用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False# 用来正常显示负号
1.展示y=2x+1的一张图像
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,1,50)
y=2*x+1
plt.plot(x,y)
plt.show()
2.一个图里想展示两个图像
import matplotlib.pyplot as plt
import numpy as np
"""
使用plt.figure()的目的是创建一个figure对象。
整个图形被视为图形对象。当我们想调整图形的大小以及在一个图形中添加多个轴对象时,有必要显式地使用plt.figure()。
"""
x = np.linspace(-1,1,50)
y1 =2* x +1
y2 =5* x +1
plt.figure()
plt.plot(x, y1)
plt.plot(x, y2, color='red', linewidth=1.0, linestyle='--')# 默认颜色为蓝色,linewidth设置宽度,linestyle设置样式
plt.show()
3.想同时展示两张图像
import matplotlib.pyplot as plt
import numpy as np
#如果想同时展示多张图,同一个figure下属于此figure
x=np.linspace(-1,1,50)
y1=2*x+1
plt.figure()
plt.plot(x,y1)
y2=5*x+1
plt.figure(num=3,figsize=(8,5))#参数可以不写,num=3为序号,figsize可设置展示的长和宽
plt.plot(x,y2)
plt.show()
4.设置x,y的取值和描述
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1,1,50)
y1 =2* x +1
y2 = x **2
plt.figure()
plt.plot(x, y1)
plt.plot(x, y2, color='red', linewidth=1.0, linestyle='--')
plt.xlim((-1,2))# 设置x坐标范围
plt.ylim((-1,5))# 设置y坐标范围
plt.xlabel('i am x')# 设置x轴描述
plt.ylabel('i am y')# 设置y轴描述
plt.show()
5.关于角标值的更换
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1,1,50)
y1 =2* x +1
y2 = x **2
plt.figure()
plt.plot(x, y1)
plt.plot(x, y2, color='red', linewidth=1.0, linestyle='--')# 更换x角标的值
new_ticks=np.linspace(-1,2,5)
plt.xticks(new_ticks)# 更换y角标的值为指定字符
plt.yticks([0,1,2],['a','b','c'])#需要一一对应
plt.show()
6.移动x和y轴位置
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1,1,50)
y1 =2* x +1
y2 = x **2
plt.figure()
plt.plot(x, y1)
plt.plot(x, y2, color='red', linewidth=1.0, linestyle='--')
plt.xlim((-1,2))# 设置x坐标范围
plt.ylim((-1,5))# 设置y坐标范围
plt.xlabel('i am x')# 设置x轴描述
plt.ylabel('i am y')# 设置y轴描述# 更换x角标的值
new_ticks=np.linspace(-1,2,5)
plt.xticks(new_ticks)# 更换y角标的值为指定字符
plt.yticks([0,1,2],['a','b','c'])#需要一一对应# gca=get current axis# 获取当前的轴gca
ax=plt.gca()# 轴有四个脊梁,上下左右边框
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')# 设置x轴和y轴
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')# 将x轴和y轴移动一下
ax.spines['left'].set_position(('data',0))# 将x轴移到y的0处
ax.spines['bottom'].set_position(('data',0))
plt.show()
7.增加图例
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1,1,50)
y1 =2* x +1
y2 = x **2
plt.figure()
plt.plot(x, y1,label='aaa')
plt.plot(x, y2, color='red', linewidth=1.0, linestyle='--',label='bbb')
plt.legend()
plt.show()
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1,1,50)
y1 =2* x +1
y2 = x **2
plt.figure()# 注意命名有逗号
l1,=plt.plot(x, y1,label='aaa')
l2,=plt.plot(x, y2, color='red', linewidth=1.0, linestyle='--',label='bbb')# 可以显示想展示的线,按顺序对于label的名字,loc的参数默认是最好,找数据最少的地方
plt.legend(handles=[l1,],labels=['xx',],loc='best')
plt.show()
8.增加特定点的标注
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(1,10,20)
y1 = x
plt.figure()
l1,=plt.plot(x, y1,label='aaa')
plt.legend(handles=[l1,],labels=['xx',],loc='best')
x0,y0=6,6
plt.scatter(x0,y0,s=50)# 制作散点图,此处只寻找一个点
plt.plot([6,6],[6,0],'k--')# 使在这两个坐标两点之间连个线,k--是简写,表示黑色虚线#给此点一个标注,xycoords表示xy参数的值以data数据作为标准,标注的内容是textcoords的位置是基于原始的点,arrowprops是箭头的样式
plt.annotate('i am (6,6)',xy=(x0,y0),xycoords='data',xytext=(+30,-30),textcoords='offset points',fontsize=16,
arrowprops=dict(arrowstyle='->'))
plt.show()
三、散点图
属性
写法
面积
plt.scatter(x, y, s=100) 默认值s面积为20
颜色
plt.scatter(x, y, c='r')默认值c颜色为blue,颜色见表1
形状
plt.scatter(x, y, marker='>')默认形状为圆圈,形状见表2
透明度
plt.scatter(x, y, alpha=0.5)默认为1,范围在0-1之间
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(1,10,10)# 随机生成10个点
y1 = x
y2 = x +5
plt.scatter(x, y1, alpha=1)
plt.scatter(x, y2, c='r', marker='>', alpha=0.5)# 红色,三角,透明度0.5
plt.show()
四、柱状图
import matplotlib.pyplot as plt
import numpy as np
X = np.arange(10)
Y = X
plt.figure()
plt.bar(X, Y)for x, y inzip(X,Y):# 描述位于x,y+0.1处,写的内容为y值得取2位小数,ha和va分别为水平和垂直对齐方式
plt.text(x,y+0.1,'%.2f'%y,ha='center',va='bottom')
plt.show()
文章目录一、线性图1.展示y=2x+1的一张图像2.一个图里想展示两个图像3.想同时展示两张图像4.设置x,y的取值和描述5.关于角标值的更换6.移动x和y轴位置7.增加图例八.增加特定点的标注二、散点图三、柱状图学习链接:https://www.bilibili.com/video/BV1Jx411L7LU?p=14一、线性图1.展示y=2x+1的一张图像import matplotlib.pyplot as pltimport numpy as npx=np.linspace(-1,1,5