import matplotlib.pyplot as plt
import random
plt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False#用来正常显示负号# 准备数据
x =range(60)# 这里使用了列表推导式
y_shanghai =[random.uniform(15,18)for i in x]
y_beijing =[random.uniform(1,5)for i in x]# 创建画布
plt.figure(figsize=(10,4), dpi=80)# 绘制图像
plt.plot(x, y_shanghai,'b-.', label='上海')# label表示显示标签 b-.表示 blue 线条为-.形式
plt.plot(x, y_beijing,'r--', label='北京')# 显示图像
plt.legend()# 修改x y 刻度
plt.yticks(range(0,40,5))
x_label =['11点{}分'.format(i)for i in x]
plt.xticks(x[::5], x_label[::5])# 添加标题
plt.xlabel('时间变化')
plt.ylabel('温度变化')
plt.title('某城市的11点钟的温度的变化')# 栅格
plt.grid(True,'both','x')#显示图像
plt.show()
多个绘图区
import matplotlib.pyplot as plt
import random
plt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False#用来正常显示负号# 准备数据
x =range(60)# 这里使用了列表推导式
y_shanghai =[random.uniform(15,18)for i in x]
y_beijing =[random.uniform(1,3)for i in x]figure, axes = plt.subplots(1,2, figsize=(15,6), dpi=80)
axes[0].plot(x, y_shanghai,'r--', label='上海')
axes[1].plot(x, y_beijing,'b-', label='北京')# 显示label
axes[0].legend()
axes[1].legend()# 设置刻度
axes[0].set_yticks(range(0,40,5))
axes[0].set_xticks(x[::5],["11.{} ".format(i)for i in x][::5])
axes[1].set_yticks(range(0,10,2))
axes[1].set_xticks(x[::5],["11.{} ".format(i)for i in x][::5])# 栅格
axes[0].grid(visible=True, which='both', axis='x')
axes[1].grid(visible=True, which='both', axis='x')# 设置标题
axes[0].set_xlabel('时间')
axes[0].set_ylabel('温度')
axes[0].set_title('上海天气')
axes[1].set_xlabel('时间')
axes[1].set_ylabel('温度')
axes[1].set_title('北京天气')plt.show()
绘制数学函数图像
import matplotlib.pyplot as plt
import numpy as np# 准备数据
x = np.linspace(-1,1,1000)
y =2* x * x# 创建画布
plt.figure(figsize=(15,6), dpi=80)# 绘制图像
plt.plot(x, y,'r-', label='y=2x*x')
plt.legend(loc=1)
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.title('显示函数图像')# 网格显示
plt.grid(linestyle='--', alpha=0.5)# 显示图像
plt.show()
散点图scatter
## 探究房屋面积和房屋价格的关系import matplotlib.pyplot as plt
import numpy as np# 准备数据
x =[225.63,247.07,253.12,457.85,241.58,303.23,304.32,340.34,220.34,240.23,280.45]
y =[196.63,203.88,210.75,374.74,202.41,299.35,300.12,330.34,220.34,222.45,290.21]# 创建画布、绘制图像
plt.figure(figsize=(15,6), dpi=80)
plt.scatter(x, y, alpha=0.5)
plt.show()