在使用python进行数据分析的过程中,绘制图表常常是理解数据最为关键的一步;
Python提供了5大可视化库:
Matplotlib:是Python可视化库中的泰斗,公认的可视化工具,可以方便地设计和输出二维及三维的数据;
Seaborn:在Matplotlib的基础上进行了更高级的API封装,提供一种高度交互式界面,使得制图更容易;
Bokeh:专门针对web浏览器的交互式Python库,支持现代化web浏览器展示;
Plotly:是一个开源、交互和基于浏览器的python库,可创建能在仪表板或网站中使用的交互式图表;
Pyecharts:是Echarts与Python的对接,是Python中用于生成Echarts图表的类库。
Matplotlib是一个非常强大的Python画图工具,可以用来绘制各种静态,动态,交互式的图表。 Matplotlib可以绘制线图、散点图、条形图、柱状图、3D 图形、甚至是图形动画等等。
官网:Matplotlib — Visualization with Python
Matplotlib 通常与 NumPy 和 SciPy(Scientific Python)或Pandas一起使用, 这种组合广泛用于替代 MatLab,有助于通过 Python 学习数据科学或者机器学习。
Matplotlib中应用最广的是matplotlib.pyplot模块;Pyplot提供了一套和Matlab类似的绘图API,只需要调用Pyplot模块所提供的函数就可以实现快速绘图并设置图表。
加载pyplot:import matplotlib.pyplot as plt
准备好制图数据,传入参数,即可使用plt.plot(), plt.show()一键出图!
Matplotlib重要函数
函数名称 | 函数作用 |
plt.title | 在当前图形中添加标题,可以指定标题的名称、位置、颜色、字体大小等参数。 |
plt.xlabel | 在当前图形中添加x轴名称,可以指定位置、颜色、字体大小等参数。 |
plt.ylabel | 在当前图形中添加y轴名称,可以指定位置、颜色、字体大小等参数。 |
plt.xlim | 指定当前图形x轴的范围,只能确定一个数值区间,而无法使用字符串标识。 |
plt.ylim | 指定当前图形y轴的范围,只能确定一个数值区间,而无法使用字符串标识。 |
plt.xticks | 指定x轴刻度的数目与取值。 |
plt.yticks | 指定y轴刻度的数目与取值。 |
plt.legend | 指定当前图形的图例,可以指定图例的大小、位置、标签。 |
绘制一个简单的图表:
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-np.pi,np.pi,256,endpoint=True)
c,s=np.cos(x),np.sin(x)
plt.plot(x,s)
plt.plot(x,c)
plt.show()
绘制一个简单的图表:
import numpy as np
import matplotlib.pyplot as plt
import random
#设置x和y
x=[i for i in range(1,11)] #生成x
y=[random.randint(1,10) for i in range(10)] #生成y,随机数,每次都不同
#绘图
plt.plot(x,y)
#显示
plt.show()
range只支持步长为整数,而Arange支持步长为小数哦
设置图片大小和分辨率:
设置坐标轴(xy值,XY轴刻度值,取值范围):
自定义XY轴刻度取值:
添加描述信息(标题、轴标签、风格、图例):
注意: 添加标题,坐标轴名称,绘制图形等步骤是并列的,没有先后顺序,可以先绘制图形,也可以先添加各类标签;
但是添加图例legend一定要在绘制图形之后。
小窍门:将图例名称放在plot函数,而不是legend函数中进行定义,可以避免图例显示不全的问题