python seaborn数据可视化_Python数据可视化——Matplotlib & Seaborn

本文展示Python中最基本的可视化工具Matplotlib和Seaborn的用法

1.导入库和常规设置

import seaborn as sns

import numpy as np

import pandas as pd

import matplotlib as mpl

import matplotlib.pyplot as plt

%matplotlib inline

from datetime import datetime

import os

os.chdir(r'file_path')

plt.rcParams['font.sans-serif'] = ['SimHei'] # 中文字体设置-黑体

plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

sns.set(font='SimHei') # 解决Seaborn中文显示问题

# 自定义常用颜色

r_hex = '#dc2624' # red, RGB = 220,38,36

dt_hex = '#2b4750' # dark teal, RGB = 43,71,80

tl_hex = '#45a0a2' # teal, RGB = 69,160,162

r1_hex = '#e87a59' # red, RGB = 232,122,89

tl1_hex = '#7dcaa9' # teal, RGB = 125,202,169

g_hex = '#649E7D' # green, RGB = 100,158,125

o_hex = '#dc8018' # orange, RGB = 220,128,24

tn_hex = '#C89F91' # tan, RGB = 200,159,145

g50_hex = '#6c6d6c' # grey-50, RGB = 108,109,108

bg_hex = '#4f6268' # blue grey, RGB = 79,98,104

g25_hex = '#c7cccf' # grey-25, RGB = 199,204,207

### 2.认识画图元素

#### 2.1四大容器

d0b10b91f382c8cd6960d775246a607e.png

四大容器:

Figure → Axes → Axis → Ticks

图 → 坐标系 → 坐标轴 → 刻度

在坐标轴和刻度上添加标签

在坐标系中添加线、点、网格、图例和文字

在图中添加图例

要画出一幅有内容的图,需要在容器里添加基础元素比如线 (line), 点(marker), 文字 (text), 图例 (legend), 网格 (grid), 标题 (title), 图片 (image) 等,具体来说

画一条线,用 plt.plot() 或 ax.plot()

画个记号,用 plt.scatter() 或 ax.scatter()

添加文字,用 plt.text() 或 ax.text()

添加图例,用 plt.legend() 或 ax.legend()

添加图片,用 plt.imshow() 或 ax.imshow()

from PIL import Image

plt.figure()

plt.xticks([]), plt.yticks([])

im = np.array(Image.open('you_picture_path'))

plt.imshow(im)

plt.show()

530b03d877716fd4570973e1cbb060b2.png

2.2 两种推荐画法

两种生成坐标系的推荐代码

第一种:同时生成图和坐标系

fig, ax = plt.subplots()

第二种:先生成图,再添加坐标系

fig = plt.figure()

ax = fig.add_subplot(1,1,1)

3.Matplotlib画图实操

3.1导入数据

data1 = pd.read_csv( 'S&P500.csv',

index_col=0,

parse_dates=True,

dayfirst=True )

data1.head(3).append(data1.tail(3))

Open

High

Low

Close

Adj Close

Volume

Date

1950-01-03

16.660000

16.660000

16.660000

16.660000

16.660000

1260000

1950-01-04

16.850000

16.850000

16.850000

16.850000

16.850000

1890000

1950-01-05

16.930000

16.930000

16.930000

16.930000

16.930000

2550000

2019-04-22

2898.780029

2909.510010

2896.350098

2907.969971

2907.969971

2997950000

2019-04-23

2909.989990

2936.310059

2908.530029

2933.679932

2933.679932

3635030000

2019-04-24

2934.000000

2936.830078

2926.050049

2927.250000

2927.250000

3448960000

spx = data1[['Adj Close']].loc['2007-01-01':'2010-01-01']

spx.head(3).append(spx.tail(3))

Adj Close

Date

2007-01-03

1416.599976

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值