matplotlib基础概念|python

为什么要学习matplotlib

  • 能将数据进行可视化,更直观的呈现
  • 使数据更加客观,更具说服力

matplotlib:最流行的Python底层绘图库

  • 主要做数据可视化图表
  • 放照MATLAB

matplotlib基本要点

  • 坐标轴,axis轴,指的是x或者y这种坐标轴
  • 散点图:把点绘制
#导入pyplot
#import matplotlib.pyplot as plt
from matplotlib import pyplot as plt 
#准备数据
x = range(2,26,2)
y = [15,13,24,5,17,28,26,25,26,24,33,28,15]
#传入x和y,通过plot绘制图线
#绘图
plt.plot(x,y)
#展示
plt.show()

1.调整x轴和y轴刻度

  • xticks绘制x刻度
#设置x的刻度
plt.xticks(x)

_xtick_lables = [i/2 for i in range(4,49)]
plt.xticks(_xtick_lables)
# 觉得太密集了,取步长
plt.xticks(_xtick_lables[::3])

plt.yticks(range(min(y),max(y)+1))

例子:

from matplotlib import pyplot as plt
import random

x = range(0,120)
y = [random.randit(20,8) for i in range(120)]
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y)
plt.show()

2.设置图片大小

#导入pyplot
#import matplotlib.pyplot as plt
from matplotlib import pyplot as plt 
#准备数据
x = range(2,26,2)
y = [15,13,24,5,17,28,26,25,26,24,33,28,15]
fig = plt.figure(figsize=(20,8),dpi=80)
#figure是图形图标的意思, 这里指的就是我们画的图
#通过实例化一个figure并且传递参数,能够在后台使用该figure实例
#在图像模糊的时候可以传入dpi参数,让图片更加清晰
#绘图
plt.plot(x,y)
#展示
plt.show()

3.保存到本地

  • plt.savefig("./t1.png")
#导入pyplot
#import matplotlib.pyplot as plt
from matplotlib import pyplot as plt 
#准备数据
x = range(2,26,2)
y = [15,13,24,5,17,28,26,25,26,24,33,28,15]
fig = plt.figure(figsize=(20,8),dpi=80)
#figure是图形图标的意思, 这里指的就是我们画的图
#通过实例化一个figure并且传递参数,能够在后台使用该figure实例
#在图像模糊的时候可以传入dpi参数,让图片更加清晰
#绘图
plt.plot(x,y)
#保存
plt.savefig("./t1.png")
#展示
plt.show()

4.matplotlib显示中文

from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="/System/Library/Fonts/PingFang.ttc")
#设置x轴刻度
_xtick_labels = ["{}岁".format(i) for i in x]
plt.xticks(x,_xtick_labels,fontproperties=my_font)
# 添加描述信息
plt.xlabel("时间")
plt.ylabel("温度 单位(°c)")
plt.title("十点到十二点每分钟的气温变化")

5.绘制网格

#绘制网格
#alpha设置透明度
plt.grid(alpha=0.4)

6.画两条线

plt.plot(x,y_1,color='r',linestyle='--',linewidth=5,alpha=0.5)
plt.plot(x.y_2 )

7.对线进行标注


#线条标注调用loc放在做在左上角
plt.legend(prop=my_font,loc="upper left")

添加线条样式

猜你喜欢

转载自blog.csdn.net/weixin_43118073/article/details/104282229