matplotlib主要做数据可视化图表
axis轴,指的是x或者y这种坐标轴
from matplotlib import pyplot as plt
x = range(2,26,2)
y = [15,13,14,5,17,20,25,26,26,27,22,18,15]
# 绘图
plt.plot(x,y)
# 展示图形
plt.show()
figure 图形图标的意思,这里指我们画的图
通过实例化一个figure并且传递参数,能够在后台自动使用该figure实例
在图像模糊的时候可以传入doi参数,让图片更加清晰
from matplotlib import pyplot as plt
x = range(2,26,2)
y = [15,13,14,5,17,20,25,26,26,27,22,18,15]
# 设置图片大小
fig = plt.figure(figsize(20,8),dpi=80)
# 绘图
plt.plot(x,y)
# 保存图片
plt.savefig("./sig_size.png")
# 展示图形
plt.show()
设置x刻度
from matplotlib import pyplot as plt
x = range(2,26,2)
y = [15,13,14,5,17,20,25,26,26,27,22,18,15]
# 设置图片大小
fig = plt.figure(figsize(20,8),dpi=80)
# 绘图
plt.plot(x,y)
# 设置x轴刻度
plt.xticks(x)
# plt.xticks(range(2,26))
# _xtick_labels = [i/2 for i in range(4,49)]
# plt.xticks(_xtick_labels[::3])
plt.yticks(range(min(y),max(y)+1))
# 保存图片
plt.savefig("./sig_size.png")
# 展示图形
plt.show()
设置显示中文
from matplotlib import pyplot as plt
import random
import matplotlib
from matplotlib import font_manager
#windows和linux设置字体
# font = { 'family' : 'MicroSoft YaHei’,
'weight': 'bold',
'size': 'larger'}
# matplotlib.rc("font",**font)
# matplotlib.rc("font",family='MicroSoft YaHei’,weight='bold')
#另外一种设置字体的方式
my_font = font_manager.FontProperties(fname="字体路径")
x = range(0,120)
y = [random.randint(20,35) for i in ranger(120)]
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y)
#调整x轴刻度
_xtick_labels = ["10点{}分".format(i) for i in range(60)]
_xtick_labels += ["11点{}分".format(i) for i in range(60)]
#取步长,数字和字符一一对应,数据的长度一样
plt.xticks(list(x)[::3],_xtick_labels[::3],rotation=90,fontproperties=my_font) #rotation旋转的度数
#添加描述信息
plt.xlabel("时间",fontproperties = my_font)
plt.ylabel("温度 单位(℃)",fontproperties = my_font)
plt.title("10点到12点的温度变化情况",fontproperties = my_font)
plt.show()
绘制多次图形
绘制网格
from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname ="System/Library/Fonts/PingFang.ttc")
y_1 = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y_2 = [1,0,3,1,2,2,3,3,2,1,2,1,1,1,1,1,1,1,1,1]
x = range(11,31)
#设置图形大小
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y_1,label="自己",color="orange",linestyle=":") #虚线
plt.plot(x,y_2,label="同桌",color="cyan",linestyle="-.",linewidth=5)
#设置x轴刻度
_xtick_labels = ["{}岁".format(i) for i in x]
plt.xticks(x,x_tick_labels,fontproperties=my_font)
plt.yticks(range(0,9))
#绘制网格
plt.grid(alpha=0.4,linestyle="--") #alpha透明度
#添加图例
plt.legend(prop=my_font,loc="upper left") #左上角
#展示
plt.show()