# 创建画布, figsize设置画布大小, dpi设置清晰度
plt.figure(figsize=(7, 7), dpi=80)
# 绘制图像
plt.plot([1,2,3,4,5,6,7],[17,17,18,15,11,11,13])
# 保存图像(不能在plt.show之后保存,否则会保存空图片)
plt.savefig('test78.png') #括号内为图片路径
# 显示图像
plt.show()
# 需求:画出某城市11点到12点1小时内每分钟的温度变化图,温度范围为15~18
# 需求:再添加一个城市的温度变化
# 收集到北京当天的温度变化情况,温度在1到3℃
import random
import matplotlib.pyplot as plt
#font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14)
plt.rcParams['font.sans-serif']=['SimSun'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
# 1. 准备数据
x = range(60) # 产生从0到60,步长为1的range可迭代对象, range左闭右开
# 准备上海的数据
y_shanghai = [random.uniform(15, 18) for i in x] # 用列表生成式产生温度分布
# 准备北京的数据
y_beijing = [random.uniform(1, 3) for i in x]
# 2. 创建画布
plt.figure(figsize=(20, 8), dpi=80)
# 3. 绘制图像
plt.plot(x, y_shanghai, color='r', linestyle='--', label='上海')
plt.plot(x, y_beijing, color='b', label='北京')
# 显示图例
plt.legend(loc='best')
# 修改x、y的刻度
# 准备x轴的刻度说明
x_label = ['11点{}分'.format(i) for i in x]
plt.xticks(x[::5], x_label[::5]) #说明与变量必须一一对应
plt.yticks(range(0, 40, 5))
#添加网格线
plt.grid(True, linestyle='--', alpha=0.5) # Ture可以省略,alpha为透明度
# 添加描述信息
plt.xlabel('时间变化')
plt.ylabel('温度变化')
plt.title('上海、北京11点到12点的温度变化情况')
# 4. 显示图像
plt.show()
颜色字符 风格字符
r 红色 - 实线
g 绿色 -- 虚线
b 蓝色 -.点划线
w 白色 : 点虚线
c 青色 '' 留空、空格
m 洋红
y 黄色
k 黑色
figure, axes = plt.subplots(nrows=1, ncols=2, **fig_kw)
axes[0].方法名()
axes[1].方法名()
设置标题等方法不同:
axes[0].set_xticks()
axes[1].set_yticks()
axes[0].set_xlabel()
axes[1].set_ylabel()
关于axes子坐标系的更多方法:参考https://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes
# 需求:画出某城市11点到12点1小时内每分钟的温度变化图,温度范围为15~18
# 需求:再添加一个城市的温度变化
# 收集到北京当天的温度变化情况,温度在1到3℃
import random
import matplotlib.pyplot as plt
#font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14)
plt.rcParams['font.sans-serif']=['SimSun'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
# 1. 准备数据
x = range(60) # 产生从0到60,步长为1的range可迭代对象
# 准备上海的数据
y_shanghai = [random.uniform(15, 18) for i in x] # 用列表生成式产生温度分布
# 准备北京的数据
y_beijing = [random.uniform(1, 3) for i in x]
# 2. 创建画布
# plt.figure(figsize=(20, 8), dpi=80)
figure, axes = plt.subplots(nrows=1, ncols=2, figsize=(20, 8), dpi=80)
# 3. 绘制图像
axes[0].plot(x, y_shanghai, color='r', linestyle='--', label='上海')
axes[1].plot(x, y_beijing, color='b', label='北京')
# 显示图例(loc='best'用于设置图例位置)
axes[0].legend(loc='best')
axes[1].legend(loc='best')
# 修改x、y的刻度
# 准备x轴的刻度说明
x_label = ['11点{}分'.format(i) for i in x]
axes[0].set_xticks(x[::5]) #说明与变量必须一一对应
axes[0].set_xticklabels(x_label)
axes[0].set_yticks(range(0, 40, 5))
axes[1].set_xticks(x[::5]) #说明与变量必须一一对应
axes[1].set_xticklabels(x_label)
axes[1].set_yticks(range(0, 40, 5))
#添加网格线
axes[0].grid(True, linestyle='--', alpha=0.5) # Ture可以省略,alpha为透明度
axes[1].grid(True, linestyle='--', alpha=0.5) # Ture可以省略,alpha为透明度
# 添加描述信息
axes[0].set_xlabel('时间变化')
axes[0].set_ylabel('温度变化')
axes[0].set_title('上海11点到12点的温度变化情况')
axes[1].set_xlabel('时间变化')
axes[1].set_ylabel('温度变化')
axes[1].set_title('北京11点到12点的温度变化情况')
# 4. 显示图像
plt.show
import numpy as np
import matplotlib.pyplot as plt
# 1.准备数据
x = np.linspace(-1, 1, 1000)
y = 2*x*x
# 2.创建画布
plt.figure(figsize=(20, 8), dpi=80)
# 3.绘制图像
plt.plot(x, y)
# 显示网格
plt.grid(linestyle='--', alpha=0.5)
# 4.显示图像
plt.show()