Finology 大数据金融

通过大数据以量化金融

之前也写过一些关于使用 Python matplotlib 画图的文章,写得都比较初级,内容繁多,有些可能根本就用不到。

根据工作中画图的经验,总结了一些最佳实践,主要涉及到一些设置方面的,商业逻辑不包含在内。此文章会一直更新。

设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 导入画图工具
import matplotlib.pyplot as plt

# 让图表直接在juypter notebook中展示出来,高版本貌似已经不需要这条语句了
# %matplotlib inline

# 解决中文乱码问题,高版本貌似不需要这条语句了
# plt.rcParams['font.sans-serif'] = 'SimHei'

# 解决负号无法显示的问题
# plt.rcParams['axes.unicode_minus'] = False

# 设置图片格式为svg矢量图,更加清晰
%config InlineBackend.figure_format = 'svg'

画布

创建画布

创建一个画布,分为两行两列。

1
fig, axes = plt.subplots(2, 2)

展示画布的时候,只需要输出fig就行了,貌似也不需要设置%matplotlib inline

1
fig

删除子图

当某个子图不需要展现时,可以使用如下语句:

删除某子图

1
2
ax = axes[0, 1]
fig.delaxes(ax)

隐藏某子图

1
ax.set_axis_off()

不遮挡布局

设置了x轴标签后,可能被下方的子图遮挡,使用如下语句可以让遮挡部分显示出来。

1
fig.tight_layout()

画图

在第0行,第0列画图。

1
axes[0, 0].plot(x, y)

设置x, y轴标签

1
2
3
ax.set_xlabel('时间')
ax.set_ylabel('销量')

如果在好几年前买了mac电脑,现在想升级,所以需要查看一下电脑的硬件规格信息。

我的macOS是High Sierra。

可以直接通过如下路径查看:关于本机 -> 系统报告

或者访问苹果官网:https://support.apple.com/zh-cn/HT201300

最后附上SSD硬盘接口标准。

  1. MacBook Air (2013-2014): PCI-E 2.0 X2(1GB/s),不支持原生休眠
    MacBook Air 11” Mid 2013 (MacBookAir6,1)
    MacBook Air 13” Mid 2013 (MacBookAir6,2)
    MacBook Air 11” early 2014 (MacBookAir6,1)
    MacBook Air 13” early 2014 (MacBookAir6,2)

  2. MacBook Air (2015-2017):PCI-E 2.0 X4(2GB/s),支持原生休眠
    MacBook Air 13” early 2015 (MacBookAir7,1)
    MacBook Air 13” 2017 (MacBookAir7,2)

3.MacBook Pro (2013-2014):PCI-E 2.0 X4(2GB/s),不支持原生休眠
MacBook Pro Retina 13” late 2013 (MacBookPro11,1)
MacBook Pro Retina 15” late 2013 (MacBookPro11,2 & MacBookPro11,3)
MacBook Pro Retina 13” mid 2014 (MacBookPro11,1)
MacBook Pro Retina 15” mid 2014 (MacBookPro11,2 & 11,3)

4.MacBook Pro (2015):PCI-E 2.0或者3.0 X4,支持原生休眠
MacBook Pro Retina 13” early 2015 (MacBookPro12,1) ,为PCI-E 2.0规格,速度2GB/s
MacBook Pro Retina 15” mid 2015 (MacBookPro11,4-11,5),为PCI-E 3.0规格,速度3.94GB/s

模块的引入

1
import module1[, module2[,... moduleN]]

调用模块中的函数,格式:模块名.函数名

1
module1.fun()

from…import

导入module模块中的fun1,可以导入函数,也可以是一个类。

1
2
3
from module import fun1

fun1()
1
2
3
from module import clz

clz.fun1()

导入module模块中所有函数,这种写法不推荐使用。

1
2
3
from module import *

fun1()

子模块

当把一个模块放到一个文件夹下面时

1
import module1.module2

module1就是这个文件夹的名字,module2为子模块。

0%