1.几种图形的重点比较
- 操作:
- 运行:shift+enter
- interrupter:停止运行
- 重启:定义的变量值全部消除,重新从头往后运行
- 上下移动cell
- matplotlib:
- 能将数据进行可视化,更直观的呈现
- 使数据更加客观、更具说服力
- matplotlib架构:
- 上层调用下层
- 后端:实现绘图区域(分配画图的资源)
- 美工:figure,axes,axis
- 脚本:pyplot
- 基础绘图:
- 折线图:点的坐标(横坐标,纵坐标)
- figure, plot,show
- xticks,yticks:设置刻度,中文
- xlabel,ylabel:设置标题
- plot( 参数)
- lengend:添加图例
- plt.subplots实现多个坐标系的图绘制
- 直方图:
- 组数:数据按照不同的范围分成几个组
- 组距:每一组两个端点的差
- pyplot.hist(x, bins=None, normed=None, **kwargs)
- plt.grid(True, linestyle=’–’, alpha=0.5)
- 对比:
- 直方图:适合x坐标数据:连续的数据,数据量大
- 柱状图:X坐标,类别,数据量小
- 饼图:
- 应用场景:表示不同分类的占比情况
- API:plt.pie
- 绘制:注意显示正 圆形 plt.axis(“equal”)
- “%1.1f%%”:后一个位置的数字表示显示小数的位数
- 绘制不同的图:
- 什么的图,准备什么样,对应什么样的场景
2. 不常用的设置
一、使用annotate和text添加图的注释
fig, ax = plt.subplots(nrows=1, ncols=1, dpi=80)
# 使用splines以及设置颜色,将上方和右方的坐标去除
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
# 将刻度设置为空,去除刻度
plt.xticks([])
plt.yticks([])
# x,y数据
data = np.ones(100)
data[70:] = list(range(1, 31))
print(data)
# 使用annptate添加注释
plt.annotate(
'这是一个拐点',
xy=(70, 1), # 箭头指向位置
arrowprops=dict(arrowstyle='->'),#自定义箭头样式
xytext=(50, 10))# 文本位置
plt.plot(data)
plt.xlabel('1')
plt.ylabel('2')
ax.text(
30, 2,# 文本位置
'这是一段文本')
效果:
图形添加文本
二、使用animation实现动画
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig, ax = plt.subplots()
# 设置x,y数据,显示到图形当中
x = np.arange(0, 2*np.pi, 0.01)
line, = ax.plot(x, np.sin(x))
def init():
"""
初始设置
"""
line.set_ydata([np.nan] * len(x))
return line,
def animate(i):
"""
更新坐标点函数
"""
line.set_ydata(np.sin(x + i / 100))
return line,
ani = animation.FuncAnimation(
fig, animate, init_func=init, interval=2, blit=True, save_count=50)
plt.show()