python3 Matplotlib 数据分析、画图实践
Matplotlib是python内置的一个非常强大的数据分析工具,可用来绘图。下面是我对Matplotlib使用的一系列练习,包括利用数据绘线、设置图例、设置标签、修改坐标轴、添加标注、绘制散点图、柱形图、等高线图,每个示例代码都配有详细的注释。下来一起来看看吧
1.基本用法:利用numpy库生成数据,使用Matplotlib下的pyplot子库绘制图形
# 导库
import matplotlib.pyplot as plt
import numpy as np
# 利用 numpy 生成数据
x = np.linspace(-3,3,50)
y1 = 2 * x + 1
y2 = x**2
# 绘图
# 设置图形窗口
plt.figure()
# 以x为横坐标,y1为纵坐标绘图
plt.plot(x, y1)
# 设置图形窗口
plt.figure(num=3)
# 以x为横坐标,y2、y1为纵坐标,即绘制两条线
plt.plot(x, y2)
# 设置绘制的线为红色、虚线,线的宽度为1
plt.plot(x, y1 ,color='red' ,linestyle = '--', linewidth = 1.0)
# 将绘制的图形显示出来
plt.show()
以上的代码运行的效果如下:
2.坐标轴修改:包括图例、坐标轴的标签、位置、范围、刻度等
# 导库
import matplotlib.pyplot as plt
import numpy as np
# 利用numpy生成数据
x = np.linspace(-3,3,50)
y1 = 2*x+1
y2 = x**2
# 在一张图中绘制两条直线
# plt.figure(figsize=(8,8))
plt.plot(x,y1,color = 'red', linestyle = '--')
plt.plot(x,y2)
# 设置x,y轴的范围。lim的含义为limit
plt.xlim((-1,6))
plt.ylim(-2,10)
# 设置x,y轴的标签
plt.xlabel('time')
plt.ylabel('altitude')
# 设置x,y轴的刻度,并在某刻度点上设置文字描述
new_ticks = np.linspace(-1,2,5) # ticks可以理解成刻度
print(new_ticks)
plt.xticks(new_ticks)
# 设置-2点为really bad,0点为normal,5点为good,10点为really good
plt.yticks([-2,0,5,10],
[r'$really\ bad$',r'$normal$',r'$ good$',r'$really\ good$'])# $ $为LATEX公式表达式,中间可写公式
plt