matplotlib 折线图详细说明(学习笔记)

matplotlib.pyplot

小明和小黄 10岁到20岁挨打的次数

  • 导入模块
from matplotlib import pyplot as plt
import matplotlib
  • 设置中文显示和图形大小
# 设置中文和负数正常显示
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False
# 设置图形大小
plt.figure(figsize=(18,8),dpi=80) #dpi 设置高清
  • 绘制图形
x = range(10,21)
y1 =  [5,2,2,3,1,2,1,1,2,0,0] #小明
y2 =  [3,1,4,1,2,1,1,2,1,1,0] #小黄
plt.plot(x,y1,label = "小明",c = "cyan",lw = "2",ls = "--")
plt.plot(x,y2,label = "小黄")
# lable 参数可与其他对应,还有其他参数,如线条颜色,线条风格,线条粗细,线条透明度等
  • 设置X,Y轴刻度
#设置X轴刻度
plt.xticks(list(x),["{}岁".format(i) for i in x],rotation = 45) #rotation 旋转角度
#设置显示步长
# plt.xticks(list(x)[::2],["{}岁".format(i) for i in x][::2],rotation=45)
# 设置y轴刻度
plt.yticks(range(0,7))
  • 设置 X Y轴标题及图形标题
#设置X轴Y轴名称和标题
plt.xlabel("年龄")
plt.ylabel("挨打次数")
plt.title("10岁到20岁的挨打次数")
  • 设置网格,添加图例,添加水印
#设置网络
plt.grid(alpha = 0.3) # alpha 设置透明度

#添加图例
plt.legend(loc = 3) #loc 图例显示位置

#添加水印
plt.figtext(0.75, 0.45, 'hello',
         fontsize=40, color='gray',
         ha='right', va='bottom', alpha=0.4)
  • 显示最小值
# 显示最小值
# min_indx1=y1.index(min(y1))
# plt.plot(x[min_indx1],y1[min_indx1],'gs')
# show_min='['+str(x[min_indx1])+','+str(y1[min_indx1])+']'
# plt.annotate(show_min,xytext=(x[min_indx1],y1[min_indx1]),xy=(x[min_indx1],y1[min_indx1]))

  • 保存图片,显示图片
#保存图片
plt.savefig("1.png") #path 图片的保存路径

plt.show()

完整代码

from matplotlib import pyplot as plt
import matplotlib

'''
小明和小黄 10岁到20岁挨打的次数
'''

# 设置中文和负数正常显示
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False

x = range(10,21)
y1 =  [5,2,2,3,1,2,1,1,2,0,0] #小明
y2 =  [3,1,4,1,2,1,1,2,1,1,0] #小黄

# 设置图形大小
plt.figure(figsize=(18,8),dpi=80) #dpi 设置高清

plt.plot(x,y1,label = "小明",c = "cyan",lw = "2",ls = "--")
plt.plot(x,y2,label = "小黄")
# lable 参数可与其他对应,还有其他参数,如线条颜色,线条风格,线条粗细,线条透明度等

#设置X轴刻度
plt.xticks(list(x),["{}岁".format(i) for i in x],rotation = 45) #rotation 旋转角度
#设置显示步长
# plt.xticks(list(x)[::2],["{}岁".format(i) for i in x][::2],rotation=45)
# 设置y轴刻度
plt.yticks(range(0,7))

#设置X轴Y轴名称和标题
plt.xlabel("年龄")
plt.ylabel("挨打次数")
plt.title("10岁到20岁的挨打次数")

#设置网络
plt.grid(alpha = 0.3) # alpha 设置透明度

#添加图例
plt.legend(loc = 3) #loc 图例显示位置

#添加水印
plt.figtext(0.75, 0.45, 'hello',
         fontsize=40, color='gray',
         ha='right', va='bottom', alpha=0.4)

# 显示最小值
# min_indx1=y1.index(min(y1))
# plt.plot(x[min_indx1],y1[min_indx1],'gs')
# show_min='['+str(x[min_indx1])+','+str(y1[min_indx1])+']'
# plt.annotate(show_min,xytext=(x[min_indx1],y1[min_indx1]),xy=(x[min_indx1],y1[min_indx1]))

#保存图片
plt.savefig("1.png") #path 图片的保存路径

plt.show()

你可能感兴趣的:(matplotlib 折线图详细说明(学习笔记))