from matplotlib import pyplot as plt
# x轴数据
x =range(2,26,2)# y轴数据
y =[15,13,14,5,17,20,25,26,26,24,22,18]# 绘图
plt.plot(x, y)# 展示
plt.show()
设置图片大小
from matplotlib import pyplot as plt
# x轴数据
x =range(2,26,2)# y轴数据
y =[15,13,14,5,17,20,25,26,26,24,22,18]# 设置图片大小,dpi:设置像素,越大图片越清晰
fig = plt.figure(figsize=(30,10), dpi=100)# 绘图
plt.plot(x, y)# 展示
plt.show()
保存图片
from matplotlib import pyplot as plt
# x轴数据
x =range(2,26,2)# y轴数据
y =[15,13,14,5,17,20,25,26,26,24,22,18]# 设置图片大小
fig = plt.figure(figsize=(30,10), dpi=100)# 绘图
plt.plot(x, y)# 保存图片
plt.savefig('./first.png')# 展示
plt.show()
也可以保存为svg格式,矢量图片放大不会失真
自定义x轴坐标
from matplotlib import pyplot as plt
# x轴数据
x =range(2,26,2)# y轴数据
y =[15,13,14,5,17,20,25,26,26,24,22,18]# 自定义x轴坐标
plt.xticks(x)# 绘图
plt.plot(x, y)# 展示
plt.show()
改变坐标显示疏密度
from matplotlib import pyplot as plt
# x轴数据
x =range(2,26,2)# y轴数据
y =[15,13,14,5,17,20,25,26,26,24,22,18]# 自定义x轴坐标
_xtick_labels =[i/2for i inrange(4,49)]
plt.xticks(_xtick_labels)# 绘图
plt.plot(x, y)# 展示
plt.show()
from matplotlib import pyplot as plt
# x轴数据
x =range(2,26,2)# y轴数据
y =[15,13,14,5,17,20,25,26,26,24,22,18]# 自定义x轴坐标
_xtick_labels =[i/2for i inrange(4,49)]# 步长为3将坐标变稀疏
plt.xticks(_xtick_labels[::3])# 绘图
plt.plot(x, y)# 展示
plt.show()
设置y轴坐标
from matplotlib import pyplot as plt
# x轴数据
x =range(2,26,2)# y轴数据
y =[15,13,14,5,17,20,25,26,26,24,22,18]# 自定义x轴坐标
_xtick_labels =[i/2for i inrange(4,49)]# 步长为3将坐标变稀疏
plt.xticks(_xtick_labels[::3])# 自定义y轴坐标:以y轴数据最大值最小值为范围生成数据
plt.yticks(range(min(y),max(y)+1))# 绘图
plt.plot(x, y)# 展示
plt.show()
调整坐标疏密程度
from matplotlib import pyplot as plt
# x轴数据
x =range(2,26,2)# y轴数据
y =[15,13,14,5,17,20,25,26,26,24,22,18]# 自定义x轴坐标
_xtick_labels =[i/2for i inrange(4,49)]# 步长为3将坐标变稀疏
plt.xticks(_xtick_labels[::3])# 自定义y轴坐标:以y轴数据最大值最小值为范围生成数据,按步长为3取值
plt.yticks(range(min(y),max(y)+1)[::3])# 绘图
plt.plot(x, y)# 展示
plt.show()
特殊用法
如果自定义坐标值最小值大于数据最大值,那么坐标是看不到的
由于x轴数据最大值是25,所以横轴坐标只能看到24,25两个值
from matplotlib import pyplot as plt
# x轴数据
x =range(2,26,2)# y轴数据
y =[15,13,14,5,17,20,25,26,26,24,22,18]# 自定义x轴坐标
_xtick_labels =[i for i inrange(24,69)]# 步长为3将坐标变稀疏
plt.xticks(_xtick_labels)# 绘图
plt.plot(x, y)# 展示
plt.show()
显示字符串
from matplotlib import pyplot as plt
import random
# 生成坐标系
x =range(0,120)
y =[random.randint(20,35)for i inrange(120)]# 设置图片大小
plt.figure(figsize=(20,8), dpi=80)# 绘图
plt.plot(x, y)# 调整x轴的疏密度以及显示字符串
_x = x
_xtick_labels =["hello{}".format(i)for i in _x]
plt.xticks(x, _xtick_labels)# 展示
plt.show()
字符旋转
from matplotlib import pyplot as plt
import random
# 生成坐标系
x =range(0,120)
y =[random.randint(20,35)for i inrange(120)]# 设置图片大小
plt.figure(figsize=(20,8), dpi=80)# 绘图
plt.plot(x, y)# 调整x轴的疏密度以及显示字符串
_xtick_labels =["10点{}分".format(i)for i inrange(60)]
_xtick_labels +=["11点{}分".format(i)for i inrange(60)]# 取步长,数字和字符串一一对应,数据长度一样 rotation(x轴显示旋转角度)
plt.xticks(list(x)[::3], _xtick_labels[::3], rotation=45)# 展示
plt.show()