目录
一、数据分析绘图库Matplotlib
- matplotlib是python比较底层的可视化库,可定制性强、图表资源丰富、简单易用、达到出版质量级别。
- Seaborn是在matplotlib的基础上进行了更高级的API封装, 作图更加容易。
- 它提供了一种高度交互式界面,便于用户能够做出各种有吸引力的统计图表。
- Matplotlib 是 Python 的绘图库。
- 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。
- 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。
1.绘图基础知识
- 图例Legend 代表图形里的内容
- 网格Grid,图形中的虚线,True显示网格
- 点 Markers:表示点的形状。
2.常用图形
- 基本的视觉元素有三种:点、线、柱状。分析下面需求绘制什么图形?
- 学生为某科课程花费的时间和考试成绩两者之间的关系,查看两者之间的相关性。
3. 绘图步骤
4.属性详解
maker标记样式
标记颜色color
例如:第一个图形绘制完整顺序
# 1). 导入绘图库
import matplotlib.pyplot as plt
import numpy as np
# 2). 创建画板figure
figure = plt.figure(figsize=(10, 10))
# 3). 创建子图subplot/Axes
ax = plt.subplot(1, 1, 1)
# 4). 准备数据
# 从0-50分割成100份
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 6). 绘制
ax.plot(x, y, color='orange', marker='*', linestyle='-.')
ax.set_title('y = sinx')
ax.set_xlabel('x')
ax.set_ylabel('y')
# 7). 显示图形或者保存图形到文件中
# plt.show()
plt.savefig('barbar.png')
运行结果:
第一个图形绘制快速版:
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
# 1). 准备数据信息
x = np.linspace(0, 20, 100)
y = np.sin(x)
# 设置seaborn的主题样式
sns.set(style='ticks')
# 2). 直接绘图
plt.plot(x, y)
# plt.scatter(x, y)
plt.title('y = sinx')
plt.xlabel('x')
plt.ylabel('y')
# 去掉上边框和右边框(在绘图之后进行设置)
sns.despine(top=True, right=True)
# 3). 绘制图形并显示或者存储在文件中
# plt.show()
plt.savefig('barbar.png')
运行结果:
5.多图绘制
1)绘图步骤
2)多图案例
3)案例一:散点图绘制
绘图需求: 基于某函数,并在其一定范围震动的离散图。一定范围内震动呢?y加个随机数
import numpy as np
import matplotlib.pyplot as plt
def trans(x):
"""
按照函数定义x,y之间的关系,y是含有50个元素的数组
:param x:
:return:
"""
#Numpy具有焊好的传播机制:数字间或者数组间计算,只需要关注逻辑
#随机范围-5~5之间
random_data = -5 + 10 * np.random.random(x.shape)
y = 1 / 100 * x ** 4 - 8 / 300 * x ** 3 - 3 + np.log(x) +