本部分内容包括简单的数据分析的学习。
不要纠结于样式和数据,仅仅说明了表现形式。
运行环境:
Ubuntu Linux + IPython5.3.0 + Python 3.6.1
使用库:
numpy matplotlib matplotlib.pyplot
一、准备
- 调用的三种方法:
-
- 方法一
jupyter qtconsole =>出现了一个和matlab有点像的界面
-
- 方法二
ipython qtconsole --pylab inline =>会报出qtconsole识别不了
*解决办法:*
-
- 方法三
jupyter notebook =>弹出浏览器,选择python3,进入如1的图形界面。
- 导入需要的库: notebook中输入
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline
# 最后一句的意思是,将图形显示在页面里,而非另外弹出一个窗口
二、使用
(1)一维数据集
- 第一个栗子
x = range(len(y)) #y的长度做迭代,其实和直接len(y)结果一样
y的长度做迭代,其实和直接len(y)结果一样
y在matplotlib中应该是有赋值的,因为直接ply.plot(y)也可以出现相同的结果。
稍后看一下这个库的源码。就知道了
- 第二个栗子
ply.plot(y.cumsum())
一维就这样了。
为了美观和使用,可以修改单位长度、增加轴标。为此,atplotlib提供了绘图样式,稍后也可以看一看。
(2)二维数据集
难度:y1和y2刻度可能不同
同一张图,不同表现方式
- 第一个栗子:一张图两组数据
np.random.standard_normal((20,2)).cumsum(0)
plt.plot(y.cumsum())
- 第二个栗子:一张图两组数据两个刻度
fig,ax1 = plt.subplots()
plt.plot(y[:,0],lw=4,label='1st')
ax2 = ax1.twinx()
plt.plot(y[:,0],lw=1.5,label='2nd')
- 第三个栗子:多张图一组数据
plt.figgure(figsize=(8,4))
plt.subplot(1,2,1)
plot.plot(y.cumsum())
plt.subplot(1,2,2)
plt.bar(np.arange(np.arange(len(y)),y[1:,1],width=0.5,color='g'))
左边是曲线,右边是柱状。具体的subplot用法可以看下源码。