环境配置
安装 python
博主使用的版本是 3.10.6
在 Windows 系统上使用 Virtualenv 搭建虚拟环境
- 安装 Virtualenv
打开 cmd
输入并执行
pip install Virtualenv
等待安装完成即可,如下图。
- 创建虚拟环境
进入自定义文件夹(Virtualenv),打开 cmd
,输入并执行
py -3 -m venv 虚拟环境名称
可以看到,自定义文件(Virtualenv)中创建了文件夹(virtualenvironment),即自定义的虚拟环境名称。
- 进入虚拟环境
进入该文件夹,再进入 Scripts
,打开 cmd
,输入并执行
activate
- 退出虚拟环境
deactivate
- 将Scripts位置加入环境变量(可忽略)
安装环境变量之后,可以在任意位置打开 cmd
进入虚拟环境,而不用先进入 Scripts
文件夹
软件安装(Windows 版)
更新 pip
- 进入虚拟环境
- 更新
pip
命令
输入并执行
python.exe -m pip install --upgrade pip
安装 matplotlib
输入并执行
pip install matplotlib
安装 pandas
输入并执行
pip install pandas
安装 TA-Lib
进入官网下载相关文件
https://www.lfd.uci.edu/~gohlke/pythonlibs/
注意只能下载指定版本,与本机 Python 版本一致
比如:TA_Lib-0.4.24-cp38-cp38-win_amd64.whl
(前面是库版本 0.4.24,后面是对应的python版本 3.8。最后的数字代表 windows系统。32 位或者 64 位。电脑属性查看或者 cmd 里 python 查看)
一定要一一对应。否则会报 ERROR: TA_Lib-0.4.24-cp38-cp38-win32.whl is not a supported wheel on this platform.
平台不符合的错误。
下载出来的文件不能改名。否则会报ERROR: TA_Lib64.whl(你更改后的文件名) is not a valid wheel filename.
文件名无效错误。
将该文件放到虚拟环境的 Scripts
文件夹中,该步骤主要为了方便,如果没有配置环境变量
输入并执行(如果该文件在其他文件夹,请输入文件绝对地址)
pip install TA_Lib-0.4.24-cp310-cp310-win_amd64.whl
安装 tables
进入官网下载相关文件
https://www.lfd.uci.edu/~gohlke/pythonlibs/
注意只能下载指定版本,与本机 Python 版本一致
输入并执行
pip install tables-3.7.0-cp310-cp310-win_amd64.whl
安装 jupytyer
输入并执行
pip install jupyter
Jupyter Notebook 使用
- 进入虚拟环境
- 输入并执行,即可进入网页端
jupyter notebook
# 或者
ipython notebook
可创建 python
文件,进行如下操作
每一行是一个 cell
快捷键:
ctrl enter
:运行当前cell
,留在当前cell
shift enter
:运行当前cell
,创建并进入下一个cell
命令模式:
Y:cell
切换到 code
模式
M:cell
切换到 markdown
模式
A:在当前 cell
的上面添加 cell
B:在当前 cell
的下面添加 cell
双击D:删除当前 cell
编辑模式:
多光标操作:Ctrl
键点击鼠标
回退:Ctrl+Z
补全代码:变量、方法后跟 Tab
键
为一行或多行代码添加/取消注释:Ctrl+/
Matplotlib 使用
基本概念
什么是Matplotlib : 画二维图表的python库
Matplotlib 三层结构:
- Canvas(画板)位于最底层,用户一般接触不到
- Figure(画布)建立在Canvas之上
- Axes(绘图区)建立在Figure之上
- 坐标轴(axis)、图例(legend)等辅助显示层以及图像层都是建立在Axes之上
快速入门
步骤
- 创建画布
- 绘制图像
- 显示图像
import matplotlib.pyplot as plt
import random
# 需求:再添加一个城市的温度变化
# 收集到北京当天温度变化情况,温度在1度到3度。
# 1、准备数据 x y
x = 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()
- 图形风格
- 图例位置
- 创建多个绘图区
figure, axes = plt.subplots(nrows=1, ncols=2, figsize=(20, 8), dpi=80)
实例:
import matplotlib.pyplot as plt
import random
# 需求:再添加一个城市的温度变化
# 收集到北京当天温度变化情况,温度在1度到3度。
# 1、准备数据 x y
x = 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()
标签:虚拟环境,set,Python,axes,Matplotlib,label,cell,Windows,plt
From: https://www.cnblogs.com/gonghr/p/16769630.html