python金融大数据分析笔记----第五章(数据可视化)1

# -*- coding: utf-8 -*-
"""
Created on Sun Sep 22 15:55:45 2019

@author: qwy
"""
  1. 点线的结合
  • plt.plot(y.cumsum(),‘b’)
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']='Lisu'
plt.rcParams['axes.unicode_minus']=False
np.random.seed(1000)
# 生成20个标准正态分布(伪)随机数, 保存在一个NumPy ndarray中
y = np.random.standard_normal(20)
x = range(len(y))

plt.plot(y.cumsum(),'b')
#plt.plot(y.cumsum(),'ro')

plt.show()

python金融大数据分析笔记----第五章(数据可视化)1_第1张图片

  • plt.plot(y.cumsum(),‘ro’)
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']='Lisu'
plt.rcParams['axes.unicode_minus']=False
np.random.seed(1000)
# 生成20个标准正态分布(伪)随机数, 保存在一个NumPy ndarray中
y = np.random.standard_normal(20)
x = range(len(y))

plt.plot(y.cumsum(),'b')
#plt.plot(y.cumsum(),'ro')

plt.show()

python金融大数据分析笔记----第五章(数据可视化)1_第2张图片

  • 将1和2同时使用后能产生如下效果:

plt.plot(y.cumsum(),‘b’)
plt.plot(y.cumsum(),‘ro’)

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']='Lisu'
plt.rcParams['axes.unicode_minus']=False
np.random.seed(1000)
# 生成20个标准正态分布(伪)随机数, 保存在一个NumPy ndarray中
y = np.random.standard_normal(20)
x = range(len(y))

plt.plot(y.cumsum(),'b')
plt.plot(y.cumsum(),'ro')

plt.show()

python金融大数据分析笔记----第五章(数据可视化)1_第3张图片
2. 在一个图中使用两个y轴(左/右)

  • fig, ax1 = plt.subplots()
    ax2 = ax1.twinx()
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']='Lisu'
plt.rcParams['axes.unicode_minus']=False
np.random.seed(2000)
y=np.random.standard_normal((20,2)).cumsum(axis=0)

# 包含两个数据集、 两个y轴的图表
y[:, 0] = y[:, 0] * 10
fig, ax1 = plt.subplots()
plt.plot(y[:, 0], 'b', lw=1.5, label='1st')
plt.plot(y[:, 0], 'ro')
plt.grid(True)
plt.legend(loc=8)
plt.axis('tight')
plt.xlabel('index')
plt.ylabel('value 1st')
plt.title('A Simple Plot')
ax2 = ax1.twinx()
plt.plot(y[:, 1], 'b',color='c', lw=1.5, label='2nd')
plt.plot(y[:, 1], 'ro',color='m')
plt.legend(loc=0)
plt.ylabel('value 2nd')
plt.show()

python金融大数据分析笔记----第五章(数据可视化)1_第4张图片
当第一个数据集在视觉上易于辨认,第二个数据集则在y轴上看起来像一条直线,(即他们之间有个变化很大,有个基本没变化),即第二个数据集在视觉上已经丢失,解决的办法可用两个y轴,也可以用两个子图(上下/左右),子图如下
3.

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']='Lisu'
plt.rcParams['axes.unicode_minus']=False
np.random.seed(2000)
y=np.random.standard_normal((20,2)).cumsum(axis=0)

# 包含两个数据集、 两个y轴的图表
y[:, 0] = y[:, 0] * 10
plt.subplot(211)
plt.plot(y[:, 0], 'b', lw=1.5, label='1st')
plt.plot(y[:, 0], 'ro')
plt.grid(True)
plt.legend(loc=2)
plt.axis('tight')
plt.xlabel('index')
plt.ylabel('value 1st')
plt.title('A Simple Plot')
plt.subplot(212)
plt.plot(y[:, 1], 'b',color='c', lw=1.5, label='2nd')
plt.plot(y[:, 1], 'ro',color='m')
plt.legend(loc=0)
plt.grid(True)
plt.ylabel('value 2nd')
plt.show()

python金融大数据分析笔记----第五章(数据可视化)1_第5张图片
4. 绘制散点图的两种方法

# 通过plot函数绘制散点图
y = np.random.standard_normal((1000, 2))
plt.figure(figsize=(12, 5))
plt.subplot(121)
plt.plot(y[:, 0], y[:, 1], 'ro',alpha=0.5)
plt.grid(True)
plt.xlabel('1st')
plt.ylabel('2nd')
plt.title('Plot.plot()')

# 通过scatter函数绘制散点图
plt.subplot(122)
plt.scatter(y[:, 0], y[:, 1], marker='o',alpha=0.5)
plt.grid(True)
plt.xlabel('1st')
plt.ylabel('2nd')
plt.title('plt.scatter()')
plt.show()

python金融大数据分析笔记----第五章(数据可视化)1_第6张图片
4. 使用scatter绘制函数加入第三维并通过不同颜色进行可视化和加入彩条加以描述。

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']='Lisu'
plt.rcParams['axes.unicode_minus']=False

np.random.seed(2000)
y=np.random.standard_normal((1000,2))
c=np.random.randint(0,10,len(y))

plt.figure(figsize=(7,5))
plt.scatter(y[:,0],y[:,1],c=c,marker='o')
plt.colorbar()
plt.grid(True)
plt.xlabel('1st')
plt.ylabel('2nd')
plt.title('Scatter Plot')
plt.show()

python金融大数据分析笔记----第五章(数据可视化)1_第7张图片
5. 对比下面代码区别以及绘制的图形的区别

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']='Lisu'
plt.rcParams['axes.unicode_minus']=False
np.random.seed(2000)
y=np.random.standard_normal((1000,2))

plt.figure(figsize=(7,5))
plt.hist(y, label=['1st','2nd'],bins=20)
#plt.hist(y, label=['1st','2nd'],bins=20,stacked=True)
plt.grid(True)
plt.legend(loc=0)
plt.xlabel('value')
plt.ylabel('frequency')
plt.title('Histogram')
plt.show()

python金融大数据分析笔记----第五章(数据可视化)1_第8张图片

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']='Lisu'
plt.rcParams['axes.unicode_minus']=False
np.random.seed(2000)
y=np.random.standard_normal((1000,2))

plt.figure(figsize=(7,5))
#plt.hist(y, label=['1st','2nd'],bins=20)
plt.hist(y, label=['1st','2nd'],bins=20,stacked=True)
plt.grid(True)
plt.legend(loc=0)
plt.xlabel('value')
plt.ylabel('frequency')
plt.title('Histogram')
plt.show()

python金融大数据分析笔记----第五章(数据可视化)1_第9张图片

你可能感兴趣的:(python)