目录
1、折线图(plot)与基础绘制图功能
1.1、设置图形风格
2、多坐标系显示图像
3、折线图的应用场景
1、折线图(plot)与基础绘制图功能
# import matplotlib.pyplot as plt
# import random
# #1.创建画布
# plt.figure(figsize=(20,8),dpi=40)
# #2.绘制图像
# x = [1,2,3,5,7,8,9,0]
# y = [4,5,6,3,4,5,6,7]
# plt.plot(x,y)# #图像保存
# plt.savefig("./test.png")# #显示图像
# plt.show()import matplotlib.pyplot as plt
import matplotlib.font_manager as font_manager
import random
import matplotlib# 设置中文字体
font = {'family' : 'Microsoft YaHei','weight' : 'normal','size' : '12'}matplotlib.rc('font',**font)
#查看当前系统已经安装的字体,方便在全局设置中使用字体名称
# fontnamelist = font_manager.get_font_names()
# print(fontnamelist)x = range(60)
y_beijing = [random.uniform(15,25) for i in x]
y_shanghai = [random.uniform(15,10) for i in x]
# print(y_shanghai)
#创建画布
plt.figure(figsize=(20,8),dpi = 40)#绘制折线图
plt.plot(x,y_beijing,label = "北京")
plt.plot(x,y_shanghai,color = 'r',linestyle='--',label = "上海")#添加x,y轴刻度
y_ticks = range(40)
plt.yticks(y_ticks[::5])#构造x轴刻度标签
x_ticks_label=["11点{}分".format(i) for i in x]
plt.xticks(x[::5],x_ticks_label[::5])
# print(x_ticks_label)#添加描述信息
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("一小时温度变化图")#显示图例
plt.legend(loc="best")#显示图像
plt.show()
1.1、设置图形风格
2、多坐标系显示图像
可以通过subplots函数实现(旧版本中subplot),推荐使用subplots函数
matplotlib.pyplot.subplots(nrows=1,ncols=1,**fig_w)创建一个带有多个axes(坐标系/绘图区)的图
import matplotlib.pyplot as plt
import matplotlib.font_manager as font_manager
import random
import matplotlib# 设置中文字体
font = {'family' : 'Microsoft YaHei','weight' : 'normal','size' : '12'}matplotlib.rc('font',**font) x = range(60)
y_beijing = [random.uniform(15,25) for i in x]
y_shanghai = [random.uniform(15,10) for i in x]
fig,axes = plt.subplots(nrows=1,ncols=2,figsize=(20,8),dpi=50)#绘制折线图
axes[0].plot(x,y_beijing,label = "北京")
axes[1].plot(x,y_shanghai,color = 'r',linestyle='--',label = "上海")#添加x,y轴刻度
y_ticks = range(40)
x_ticks_label=["11点{}分".format(i) for i in x]#设置坐标系
axes[0].set_xticks(x[::5])
axes[0].set_yticks(y_ticks[::5])
axes[0].set_xticklabels(x_ticks_label[::5])
axes[1].set_xticks(x[::5])
axes[1].set_yticks(y_ticks[::5])
axes[1].set_xticklabels(x_ticks_label[::5])#添加网格显示
axes[0].grid(True,linestyle="--",alpha=0.5)
axes[1].grid(True,linestyle="--",alpha=0.5)
# print(x_ticks_label)#添加描述信息
axes[0].set_xlabel("时间")
axes[0].set_ylabel("温度")
axes[0].set_title("北京一小时温度变化图")
axes[1].set_xlabel("时间")
axes[1].set_ylabel("温度")
axes[1].set_title("上海一小时温度变化图")#显示图例
axes[0].legend(loc=0)
axes[1].legend(loc=0)
#显示图像
plt.show()
3、折线图的应用场景
- 呈现公司产品(不同区域)每天活跃用户数
- 呈现app每天下载数量
- 呈现产品新功能上线后,用户点击次数随时间的变化
- 拓展:画各种数据函数图像
注意:plt.plot()除了可以画折线图,也可以用于画各种数据函数图像
import numpy as np#0.生成数据
x = np.linspace(-10,10,1000)
y = np.sin(x)#1.创建画布
plt.figure(figsize=(20,0),dpi=100)#2.绘制
plt.plot(x,y)#2.显示
plt.show()