环境配置
安装 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
进入官网下载相关文件
pythonlibs/" rel="external nofollow noreferrer">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
进入官网下载相关文件
pythonlibs/" rel="external nofollow noreferrer">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()
标签: # python
留言评论