python入门3

image-20210129170554037

利用matplotlib画图

import matplotlib.pyplot as plt

plt.figure(figsize=(),dpi=) figsize:指定图的长宽 dpi: 图像的清晰度 返回fig对象

绘制图像 plt.plot()

显示图像

plt.show()

1
2
3
4
5
6
7
8
9
10
11
# 显示天气
import matplotlib.pyplot as plt

# 创建画布
plt.figure(figsize=(10,10),dpi=100)

# 绘制折线
plt.plot([1,2,3,4,5,6,7],[17,17,18,15,11,11,8])

# 显示图像
plt.show()

image-20210131195633439

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
44
45
46
47
48
49
50
51
52
53
# 自定义x y刻度

# x要显示的刻度
# plt.xticks(x,)

# y要显示的刻度
# plt.yticks(y,)

import matplotlib.pyplot as plt
import random

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

# 画出温度变化图
# 准备xy坐标数据
x=range(60)
y_DongYing=[random.uniform(15,18) for i in x]

# 插入上海的数据
y_ShangHai=[random.uniform(25,28) for i in x]

# 创建画布
plt.figure(figsize=(20,8),dpi=100)

# 绘制折线图
plt.plot(x,y_DongYing,label='东营')
plt.plot(x,y_ShangHai,color='g',linestyle='--',label='上海')#线的风格

# 构造x的刻度
xTicksLabel=["11点{}分".format(i) for i in x]
# 构造y的刻度
yTicks=range(40)
# 修改x y轴坐标的刻度显示
plt.xticks(x[::5],xTicksLabel[::5])
plt.yticks(yTicks[::5])

# 添加网格显示
plt.grid(True,linestyle="--",alpha=1)#alpha:透明度

# 添加描述信息
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("当地气温变化",fontsize=22)

# 图像保存
plt.savefig("D:/pictures/当地气温变化.png")

# 显示图例
plt.legend(loc='best')#等于plt.legend(loc=0)

plt.show()

当地气温变化

多个坐标系实现绘图

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# 自定义x y刻度

# x要显示的刻度
# plt.xticks(x,)

# y要显示的刻度
# plt.yticks(y,)

import matplotlib.pyplot as plt
import random

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

# 画出温度变化图
# 准备xy坐标数据
x=range(60)
y_DongYing=[random.uniform(15,18) for i in x]

# 插入上海的数据
y_ShangHai=[random.uniform(25,28) for i in x]

# 创建画布
fig,axes=plt.subplots(nrows=1,ncols=2,figsize=(20,8),dpi=100)

# 绘制折线图
axes[0].plot(x,y_DongYing,label='东营')
axes[1].plot(x,y_ShangHai,color='g',linestyle='--',label='上海')#线的风格


# 构造x的刻度
xTicksLabel=["11点{}分".format(i) for i in x]
# 构造y的刻度
yTicks=range(40)
#修改刻度显示
axes[0].set_xticks(x[::5])
axes[0].set_yticks(yTicks[::5])

axes[0].set_xticklabels(xTicksLabel[::5])

axes[1].set_xticks(x[::5])
axes[1].set_yticks(yTicks[::5])

axes[1].set_xticklabels(xTicksLabel[::5])
# 添加网格
axes[0].grid(True,linestyle="--",alpha=1)
axes[1].grid(True,linestyle="--",alpha=1)

# 添加描述信息
axes[0].set_xlabel("时间")
axes[0].set_ylabel("温度")
axes[0].set_title("当地气温变化",fontsize=22)
axes[1].set_xlabel("时间")
axes[1].set_ylabel("温度")
axes[1].set_title("当地气温变化",fontsize=22)


# 显示图例
axes[0].legend(loc='best')#等于plt.legend(loc=0)
axes[1].legend(loc='best')#等于plt.legend(loc=0)

plt.show()

download

其他领域

1
2
3
4
5
6
7
8
import numpy as np

x=np.linspace(-10,10,1000)
y=np.sin(x)
plt.figure(figsize=(20,8),dpi=100)
plt.plot(x,y)
plt.grid()
plt.show()

download