matplotlib.pyplot画图⼊门教程,满⾜你的可视化需求matplotlib画图的基本步骤
1. 准备数据
2. 创建图形
3. 绘图
4. ⾃定义设置
5. 保存图形
6. 显⽰图形
⼀.准备数据:⾸先介绍Numpy的基本使⽤
import numpy as np
# arange([start,] stop[, step,], dtype=None)
# start:开始位置
# stop:结束位置
# step:步长默认值为1
# dtype:是数据的数据类型
np.arange(0,10,2)# array([0, 2, 4, 6, 8])
# linspace(start, stop, num=50)
# start:开始位置
# stop:结束位置
# num:将这个区间的数据分成的份数
np.linspace(0,5,6)# array([0., 1., 2., 3., 4., 5.])
'''
numpy中的常⽤数学函数
np.sin(x)
np.tax(x)
np.tan(x)
np.arctan(x)
np.arcsin(x)
np.arccos(x)matplotlib中subplot
np.sinh(x)
np.power(x, num) # 指数函数
numpy常⽤的统计函数
np.sum() # 计算数组中的和
np.var() # 计算数组中的⽅差
np.std() # 计算数组中的标准差
np.max() # 计算数组中的最⼤值
np.min() # 计算数组中的最⼩值
np.argmax() # 返回数组中最⼤元素的索引
np.argmin() # 返回数组中最⼩元素的索引
np.cumsum() # 计算数组中所有元素的累计和
np.cumprod() # 计算数组中所有元素的累计积
'''
⼀.准备数据:下⾯详细介绍⼀下本⽂章会⽤到的函数
import numpy as np
#np.random.rand() # 通过本函数可以返回⼀个或⼀组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1。np.random.rand(5)#中间参数是维度
# array([0.00376725, 0.86551634, 0.46209527, 0.90981707, 0.95083522])
np.random.rand(3,2)
''''
array([[0.8530637 , 0.27165418],
[0.50043972, 0.3180998 ],
[0.35343743, 0.27305431]])
'''
# np.random.rand和上⾯函数的⽤法是⼀样的只不过使⽤的事正态函数
#np.random.randint(low, high=None, size=None, dtype='l')
np.random.randint(1,10,(5,5))
'''
array([[1, 5, 3, 2, 7],
[9, 1, 1, 1, 4],
[1, 1, 6, 2, 1],
[2, 2, 7, 4, 4],
[5, 6, 1, 9, 6]])
在1-10中随机⽣成⼀个5x5的整数数组,不包括10
'''
np.random.random(size =(2,3))# 只有size维度⼀个参数
'''
array([[0.06216955, 0.14071454, 0.97819655],
[0.27906953, 0.38512329, 0.22541471]])
'''
⼆.创建图形–常见图形的设计
标题:线形图
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0,10,50)
np.random.seed(1)
y = np.random.random(50)
plt.plot(x, y, linestyle ='-', linewidth =2, color ='deeppink')
plt.show()# 展⽰图形
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0,10,50)
np.random.seed(1)
y = np.random.random(50)
plt.plot(x, y, linestyle ='--', linewidth =2, color ='deeppink', label ="demo") plt.legend(loc=2)# 显⽰label 如果没有这句话不能显⽰demo 默认显⽰在右上⽅'''
plt.legend([loc = integer])
默认是显⽰在最好的位置,⾃⼰也可以进⾏选择integer的值:如下:
Location String Location Code
=============== =============
'best' 0
'upper right' 1
'upper left' 2
'lower left' 3
'lower right' 4
'right' 5
'center left' 6
'center right' 7
'lower center' 8
'upper center' 9
'center' 10
=============== =============
'''
plt.show()
标题:点状图
import numpy as np
x = np.random.random(1000)
y = np.random.random(1000)
s = np.random.random(1000)*100
c = np.random.random(1000)
# 下⾯的点状图scatter的参数及意义
# x,y:表⽰数据的位置
# s:表⽰图形的⼤⼩
# c:表⽰颜⾊或颜⾊序列,可能的情况如下:
# 单⼀颜⾊
# 颜⾊序列
# 使⽤cmap映射到颜⾊的序列数
# ⼀个⾏为RGB的2-D数组
# marker:绘出的图形的形状,具有多种风格
# edgecolors = 'pink',
# cmap:默认为no
# norm:描述数据亮度,默认为no
# vmin,vmax:亮度设置,默认为no
# alpha = 0.5 # 范围为0-1
# linewidths:描边的宽度
# edgecolors:描边颜⾊
plt.scatter(x, y, s,
# c,
marker='v',
# alpha=0.5,
linewidths =1, color ='red')
# 如果使⽤了color就是同⼀种颜⾊但是就不能使⽤c参数,两种只能使⽤⼀个plt.show()
import numpy as np
#解决中⽂显⽰问题
# Params['font.sans-serif'] = ['KaiTi'] # 指定默认字体
# Params['axes.unicode_minus'] = False # 解决保存图像是负号'-'显⽰为⽅块的问题x = np.random.random(1000)
y = np.random.random(1000)
s = np.random.random(1000)*100
c = np.random.random(1000)
plt.scatter(x, y, s,
c,
marker='v',
# alpha=0.5,
linewidths =1)
plt.title("demo ⽰例")# 增加标题但是有中⽂乱码问题将上⾯的语句注释取消就⾏
plt.show()
from matplotlib import pyplot as plt
import numpy as np
y = np.random.random(1000)
s = np.random.random(1000)*100
c = np.random.random(1000)
plt.scatter(x, y, s,
c,
marker='v',
# alpha=0.5,
linewidths =1)
plt.title("demo ⽰例")
plt.show()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论