双击D:删除当前 cell
编辑模式:
多光标操作:Ctrl 键点击鼠标
回退:Ctrl+Z
补全代码:变量、方法后跟 Tab 键
为一行或多行代码添加/取消注释:Ctrl+/
Matplotlib 使用基本概念
文章插图
什么是Matplotlib : 画二维图表的python库
Matplotlib 三层结构:
- Canvas(画板)位于最底层 , 用户一般接触不到
- Figure(画布)建立在Canvas之上
- Axes(绘图区)建立在Figure之上
- 坐标轴(axis)、图例(legend)等辅助显示层以及图像层都是建立在Axes之上
文章插图
快速入门步骤
- 创建画布
- 绘制图像
- 显示图像
文章插图
import matplotlib.pyplot as pltimport random# 需求:再添加一个城市的温度变化# 收集到北京当天温度变化情况,温度在1度到3度 。 # 1、准备数据 x yx = range(60)y_shanghai = [random.uniform(15, 18) for i in x]y_beijing = [random.uniform(1, 3) for i in x]# 中文显示问题plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False #用来正常显示负号# 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.plot时要添加标签label=“”plt.legend(loc = "upper right")#legend有自己的参数可以控制图例位置# 修改x、y刻度# 准备x的刻度说明 ticks表示刻度x_label = ["11点{}分".format(i) for i in x]plt.xticks(x[::5], x_label[::5])#步长为5,即不让刻度显示过于密集第一处的x[::5]也要写,应该是用来给x_label定位的plt.yticks(range(0, 40, 5))# 添加网格显示,其中的alpha是网格的透明程度plt.grid(linestyle="--", alpha=0.5)# 添加描述信息plt.xlabel("时间变化")plt.ylabel("温度变化")plt.title("上海、北京11点到12点每分钟的温度变化状况")# 保存图片,注意必须放在 show 之前, 因为 show 之后会释放缓存plt.savefig("test.png")# 4、显示图plt.show()
- 图形风格
文章插图
- 图例位置
文章插图
- 创建多个绘图区
import matplotlib.pyplot as pltimport random# 需求:再添加一个城市的温度变化# 收集到北京当天温度变化情况,温度在1度到3度 。 # 1、准备数据 x yx = range(60)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="北京")# 显示图例axes[0].legend()axes[1].legend()# 修改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(linestyle="--", alpha=0.5)axes[1].grid(linestyle="--", alpha=0.5)# 添加描述信息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()
推荐阅读
- 利用Pandas处理数据 缺失值的处理 数据库的使用 python-数据描述与分析2
- Jupyter Notebook单元格加宽的方法3种
- Jupyter notebook导入Pycharm项目的.py文件里的模块及方法