欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据分析系列 之python中数据的可视化

程序员文章站 2022-03-19 09:56:22
...

1 介绍
Matplotlib绘图:python绘图库,主要用于二维绘图,利用绘图API–pyplot模块。
pandas绘图:可以实现基于Series和DataFrame的某些绘图功能。可以直接将DataFrame的index作为x轴数据,各组values作为y轴数据。

2 折线图

import matplotlib.pyplot as plt
#代表y轴的数据
plt.plot([1,2,4,5,6,3])
#默认的x轴数据
plt.plot(range(6),[1,2,4,5,6,3])
#绿色虚线
plt.plot(range(6),[1,2,4,5,6,3],'g--')
#红色钻石散点图
plt.plot(range(6),[1,2,4,5,6,3],'rD')
plt.show()
#样式
颜色:b,g,r,y等
线型:'-','--','-.'等
标记:"o","v","*","D","+"#图的大小
plt.figure(figure=(8,6),dpi=100)
#把图例放在左上方,如果是best则是自动寻找最佳位置
plt.legend(loc='upper left')
#加各种标签
plt.title()
plt.xlabel()
plt.ylabel()

#绘制多条曲线
import numpy as np
import matplotlib.pyplot as plt
t = np.arange(0.,4.,0.1)
plt.plot(t,t,t,t+3,t,t**2)

3 散点图

import matplotlib.pyplot as plt
plt.scatter(range(6),[1,2,4,5,6,3])

4 条形图

import matplotlib.pyplot as plt
plt.bar(range(6),[1,2,4,5,6,3])

5 绘制子图
使用subplot()/subplots()函数或者axes()函数,后面可能区域会有重叠

#行数,列数,编号
plt.subplot(211)
plt.subplot(212)

#分别利用ax0和ax1来进行绘图
fig,(ax0,ax1) = plt.subplots(2,1)

#上下左右的比例,取值为(0,1)
axes([left,bottom,width,height])

6 举例

已知有如下DataFrame:
			A   B
2019-10-01  1   2
2019-10-02  3   4
2019-10-03  5   6
2019-10-04  7   8
2019-10-05  9   10
怎样可以获得如下结果?
			B
2019-10-02  4
2019-10-03  6
2019-10-04  8
方法如下:
result.loc['2019-10-02':'2019-10-04','B']
result.iloc[1:4,1]

补充:
如果在Spyder IDE中matplotlib绘图窗口显示不出来,需要到Spyder下将Tools -> Preferences -> IPython console -> Graphics中的Backend修改为Qt5,之后重启Spyder。

参考资料:
https://www.icourse163.org/learn/NJU-1001571005?tid=1463102441&from=study#/learn/content?type=detail&id=1240380189&sm=1 用python玩转数据