当前位置:   article > 正文

python画图基础_python画图基础教程

python画图基础教程

python用于画图常用matplotlib和seaborn**

1.matplotlib

使用前需要导入api
import matplotlib.pyplot as plt

1.1绘制基本图像

1.1.1折线图

1.准备数据
import random
x = range(60)
y = [random.uniform(15,18) for i in x]
#random.uniform 中参数即为取值范围。

2.创建画布
plt.figure(figsize=(20,5),dpi=100)
#其中参数figsize即为图像大小,dpi为分辨率。

3.绘制图像
plt.plot(x,y)

4.图像显示
plt.show()
在这里插入图片描述

1.1.2 散点图

重复1,2,4步
第3步改为plt.scatter(x,y)
图像显示:
在这里插入图片描述

1.1.3柱状图

重复1,2,4步
第3步改为plt.bar(x,y)
图像显示:
在这里插入图片描述

1.1.4 直方图

重复1,2,4步
第三步改为plt.hist(y)
只传入一个y参数,表示y的分布情况
图像显示:
在这里插入图片描述
也可以传入x参数,表示x的分布情况(但因x为0~59,所以没有意义)
图像显示:
在这里插入图片描述

1.2实现一些其他功能

我们用自己创建的数据作为上海市早上10时~11时的温度变化

#1.数据准备
x_shanghai = x
y_shanghai = y

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

#3.绘制图像
plt.plot(x_shanghai,y_shanghai)
#3.1添加x、y的刻度
x_ticks = ["10:{}分"format(i) for i in x_shanghai]
y_ticks = range(40)
#3.2修改x、y的刻度
plt.xticks(x_shanghai[::5],x_ticks[::5])
#plt.xticks第一个参数是刻度,第二个参数是刻度标签(plt.yticks也一样)
plt.yticks(y_ticks[::5])
#五分钟取一个刻度
#3.3添加网格显示
plt.grid(True,linestyle = "--",alpha = 0.6)
参数linestyle为网格线的种类,alpha为网格线深浅
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

图像显示:
在这里插入图片描述

1.3 在一个坐标系中画出多个图像

#0 准备数据
x = range(60)
y_shanghai = [random.uniform(15,18) for i in x]
y_beijing = [random.uniform(1,3) for i in x]

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

#2 绘制图像
plt.plot(x,y_shanghai,label = "上海")
#画一条标签为上海的图像
plt.plot(x,y_beijing,color = 'r',linestyle="--",label="北京")
#画一条标签为北京的图像
plt.legend(loc ="best")
#plt.legend()函数设置图例位置

#2.1 添加x,y刻度
x_shanghai_ticks = ["10点{}分".format(i) for i in x] 
y_shanghai_ticks = range(40)

#2.2 修改x,y刻度
plt.xticks(x[::5],x_shanghai_ticks[::5])
plt.yticks(y_shanghai_ticks[::5])

#2.3 添加网格显示
plt.grid(True , linestyle = "--",alpha = 0.6)

#2.4 添加标签数据
plt.xlabel("时间",fontsize=20)
plt.ylabel("温度",fontsize=20)
plt.title("某市某日10时至11时的温度变化折线图",fontsize=20)
#fontsize为字体大小

#  图像保存
plt.savefig("test.png")

#3 图像显示
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

图像显示:
在这里插入图片描述

1.4多坐标作图

#0 准备数据
x = range(60)
y_shanghai = [random.uniform(15,18) for i in x]
y_beijing = [random.uniform(1,3) for i in x]

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

#2 绘制图像
# axes[0].plot(x,y_shanghai,label = "上海")
# axes[1].plot(x,y_beijing,color = 'r',linestyle="--",label="北京")
f1=plt.subplot(1,2,1)#将figure分成一行两列,第三个数字代表的是第一个位置的图
f1.scatter(x,y_shanghai,label="上海",color='r',linestyle='--')#分别为x的显示范围为0-3,y的坐标0-1
f2=plt.subplot(1,2,2)#将figure分成一行两列,第三个数字代表的是第二个位置的图
f2.scatter(x,y_beijing,label="北京")

# #2.1 添加x,y刻度
x_ticks= ["10点{}分".format(i) for i in x] 
y_shanghai_ticks = range(40)

# #2.2 修改x,y刻度
# plt.xticks(x[::5],x_ticks[::5])
# plt.yticks(y_shanghai_ticks[::5])
f1.set_xticks(x[::5])
f1.set_yticks(y_shanghai_ticks[::5])
f1.set_xticklabels(x_ticks[::5])
f2.set_xticks(x[::5])
f2.set_yticks(y_shanghai_ticks[::5])
f2.set_xticklabels(x_ticks[::5])

# #2.3 添加网格显示
f1.grid(True , linestyle = "--",alpha = 0.6)
f2.grid(True , linestyle = "--",alpha = 0.6)

# #2.4 添加标签数据
# plt.xlabel("时间",fontsize=20)
# plt.ylabel("温度",fontsize=20)
# plt.title("某市某日10时至11时的温度变化折线图",fontsize=20)
f1.set_xlabel("时间")
f1.set_ylabel("温度")
f1.set_title("上海市十时至十一时的温度变化",fontsize=20)
f2.set_xlabel("时间")
f2.set_ylabel("温度")
f2.set_title("北京市十时至十一时的温度变化",fontsize=20)
f1.legend(loc=0)
f2.legend(loc=0)

#  图像保存
plt.savefig("test.png")
#3 图像显示
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

图像显示:
在这里插入图片描述

1.5 绘图应用

import numpy as np
# 绘制一般函数的图像
# 绘制反正切函数图像
# 0 准备数据
x = np.linspace(-10,10,1000)
# x为-10到10等间距取1000份
y = np.arctan(x)

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

# 2 绘制图像
plt.plot(x,y)

# 2.1添加网格
plt.grid(True,linestyle = "--",alpha=0.6)

# 3 显示图像
plt.show()

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

图像显示:
在这里插入图片描述

#绘制正比例函数
y = x
  • 1
  • 2

图像显示:
在这里插入图片描述

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号