0%

matplotlib 笔记

matplotlib 官方文档

绘图

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
42
43
# 导入
from matplotlib import pyplot as plt
# 或者
# import matplotlib.pyplot as plt

# 导入 numpy
import numpy as np

# 解决中文问题
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

# 画布
#plt.figure()
plt.figure(figsize(7, 5)) # 创建图像区域,指定比例,缺省 1:1

# x轴, y轴刻度
# matplotlib.pyplot.xticks(ticks=None, labels=None, **kwargs)
plt.xticks()
plt.yticks()

# c=color 颜色
plt.scatter(x, y, c='c') # scatter 散点图

plt.plot(x, y_line, c='r') # 画线

plt.plot([1, 2, 3, 4], [1, 4, 2, 3]) # Matplotlib plot

plt.title('关系图')
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.legend() # 显示图例

plt.ylim(0, 2.2) # 显示的y轴范围


# 保存图片
# 注意: 一定要在画完图后,show() 前
plt.savefig('D:\test.png')


# 展示图
plt.show()

画图

饼状图

plt.pie(data[‘xColName’], labels = labels)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import pandas as pd
import matplotlib.pyplot as plt
catering_dish_profit = '../data/chapter3/demo/data/catering_dish_profit.xls' # 餐饮数据
data = pd.read_excel(catering_dish_profit) # 读取数据,指定“日期”列为索引

# 绘制饼图
x = data['盈利']
labels = data['菜品名']
plt.figure(figsize = (8, 6))
plt.pie(x, labels = labels)
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.title('菜品销售量分布(饼图)')
plt.axis('equal')
plt.show()

分布(条形图)

plt.bar(x, y)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import pandas as pd
import matplotlib.pyplot as plt
catering_dish_profit = '../data/chapter3/demo/data/catering_dish_profit.xls' # 餐饮数据
data = pd.read_excel(catering_dish_profit) # 读取数据,指定“日期”列为索引

x = data['菜品名']
y = data['盈利']
plt.figure(figsize = (8, 4))
plt.bar(x, y)
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.xlabel('菜品')
plt.ylabel('销量')
plt.title('菜品销售量分布(条形图)')
plt.show()

折线图

plt.plot(data[‘xColName’], data[‘yColName’], color = ‘’, label = ‘yColName’)

画折线图,关键在于 给出表格列名,需要显示的标签名,颜色
第一个参数列作 x轴,这里是月份,第二个参数列作 y轴,这里是部门销售额

1
2
3
4
5
6
7
8
9
10
data = pd.read_excel("../data/chapter3/demo/data/dish_sale.xls")
plt.figure(figsize = (8, 4))

plt.plot(data['月份'], data['A部门'], color = 'green', label = 'A部门', marker = 'o')
plt.plot(data['月份'], data['B部门'], color = 'red', label = 'B部门', marker = 's')
plt.plot(data['月份'], data['C部门'], color = 'skyblue', label = 'C部门', marker = 'x')

plt.legend() # 显示图例
plt.ylabel('销售额(万元)')
plt.show()

plt.axis()

plt.axis(‘equal’) # 显示为圆(避免比例压缩为椭圆)

plt.hist() 直方图