绘制拆线图

拆线图基础

plot方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 导入库
import numpy as np
import matplotlib.pyplot as plt

# 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决负号-显示
# 建立坐标系
plt.subplot(1, 1, 1)

# 定义 x 和 y 轴值
x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
y = np.array([866, 2335, 5710, 6482, 6122, 1605, 3810, 4420, 4635])

# 绘图
plt.plot(x, y, color='k', linestyle='dashdot',
linewidth=1, marker='o', markersize=5, label='注册用户数')

# 设置标题,标题位置
plt.title('XXX 公司 1-9 月注册用户量', loc='center')

# 添加数据标签
for a, b in zip(x, y):
plt.text(a, b, b, ha='center', va='bottom', fontsize=10)

plt.grid(True) # 设置网络线
plt.legend() # 设置图例, 调用显示出 plot 中的 label 值
plt.xlabel('月份')
plt.ylabel('注册量')
# 设置 X 轴刻度
plt.xticks(np.arange(10), ["0", "1月份", "2月份", "3月份",
"4月份", "5月份", "6月份",
"7月份", "8月份", "9月份"])
# 设置 Y 轴刻度
plt.yticks(np.arange(1000, 7000, 1000),
["1000人", "2000人", "3000人",
"4000人", "5000人", "6000人"])

plt.show()
# 保存图表至本地
plt.savefig('XXX 公司 1-9 月注册用户量')

效果图如下

柱状图基础

bar方法

普通柱形图

效果图如下:

簇状柱形图

堆积柱形图

这个与上一个图的区别是第二柱子在第一柱子上叠加绘图,看图一目了然
使重叠:

使数据标签下移 600 单位距离:

条形图基础

barh方法
条形图与柱形图类似,只不过是将柱形图的x轴和Y轴进行了调换,纵向变成横向。
使用 plt 库中的 barh 方法来绘制
转换方法如下

散点图基础

scatter方法

气泡图基础

scatter方法

面积图基础

树地图基础

有点像没灵魂的词云图
此图要单独安装 pip install squarify 并结合 matplotlib 库使用
*不知为什么这个代码只能在交互模式下一条一条的运行,在IDLE或Pycharm中会提示 squarify 库出错 *

AttributeError: module ‘squarify’ has no attribute ‘plot’

效果如下 :

雷达图基础

雷达图常用来综合评价某一事物,它可以直观地看出该事物的优势和不足。使用 plt 库中的 polar 方法,polar 是建立极坐标系的
其实雷达图就是先将各点展示在极坐标系中,然后用线将各点连接起来。
代码如下 :

效果图如下:

箱型图基础

箱型图用来反映一组或多组数据的离散情况,它使用的是 plt 库中的 boxplot 方法
代码如下:

效果如下:

饼状图基础

其适用场景自不必多说
代码如下:

效果如下:

圆环图基础

在饼状图的基础上调整参数 wedgeprops 即可实现圆环图
代码如下:

效果如下:

热力图基础

热力图是将某一事物的响应度反映在图表上,可以快速发现需要重点关注的区域,使用 plt 中的 imshow 方法
代码如下:

效果如下:

水平线和垂直线基础

水平线和垂直线主要用来做对比参考,它们使用的是 plt 库中的 axhline 和 axvline方法。

效果如下:

绘制组合图表

组合图表就是在同一坐标系中绘制多张图表,常见有折线图+折线图、折线图+柱状图、柱状图+柱状图(簇状图)等形式。

折线图+折线图

在同一坐标系中绘制多条折线,一般直接运行多行绘制折线图代码即可

效果图如下:

折线图+柱状图

其它代码与 折线图+折线图相同,只有这点代码不同

最终效果如下:

其它组合图表如法炮制。

双坐标轴图表基础

双坐标轴图表就是既有主坐标轴又有次坐标轴的图表,当两个不同量级的指标放在同一坐标系中时,就需要开启双坐标轴,比如任务量(绝对数)与完成率(相对数)就是两个不同量级的指标。

双 y 轴图表基础

共用一根 x 轴
代码如下

效果如下:

双 x 轴图表基础

共用一根 y 轴
在一个坐标系中有两条 x 轴,使用 plt 库中的 twiny 方法,具体使用流程与 双 y 轴相同。
代码如下

效果如下:

绘图样式设置

如果要用非默认样式,要在程序开头加入这行代码

1
plt.style.use('样式名')
  1. bmh 样式
  2. classic 样式
  3. dark_background 样式
  4. fast 样式
  5. fivethirtyeight 样式
  6. ggplot 样式
  7. grayscale 样式
  8. seaborn-bright 样式