파이썬 데이터 분석 도구는 일반적으로 시각화에 사용

파이썬 데이터 분석 도구는 일반적으로 시각화에 사용

일하기 matplotlib

출판 품질의 그래픽 라이브러리를 만들기위한 도구를 그리기, 목적은 파이썬을위한 매트랩 스타일의 그래픽 인터페이스를 구축하는 것입니다.

1.1 설치

  • Anaconada 자신.
  • 설치 PIP

    하기 matplotlib를 설치 PIP

1.2 참조

PLT 등의 수입 matplotlib.pyplot

1.3 일반적인 방법

그림

하기 matplotlib도 화상 오브젝트 위치

  • 그림을 만들기

= plt.figure도 ()

부가 적 줄거리

fig.add_subplot (A, B, C)

  • A, B를 나타내고,도 영역으로 말할 AXB
  • C를 작동하도록 현재 선택된 영역을 나타내는
    注意 ·시작 번호 1 :
  • 목표 수익률은 AxesSubplot입니다
  • 그리기 영역 플롯 부가 적 줄거리의 마지막 위치를 지정 (jupyter는 올바르게 표시되지
    않음)
  • 객체 동시에 반송도 부가 적 줄거리 어레이에서 새로 만들어진
    • fig,subplot arr=plt.subplots(2,2)
    • 在 jupyter 里可以正常显示,推荐使用这种方式创建多个图表

plt.plot ()

매핑 방법.

# 在指定 subplot 作图

import scipy as sp
from scipy import stats

x = np.linspace(-5, 15, 50)
#print x.shape

# 绘制高斯分布
plt.plot(x, sp.stats.norm.pdf(x=x, loc=5, scale=2))

# 叠加直方图
plt.hist(sp.stats.norm.rvs(loc=5, scale=2, size=200), bins=50, normed=True, color='red', alpha=0.5)
plt.show()

히스토그램을 그리기
plt.hist(np.random.randn(100), bins=10, color='b', alpha=0.3)

산포도 그리기

x = np.arange(50)
y = x + 5 * np.random.rand(50)
plt.scatter(x, y)

히스토그램

x = np.arange(5)
y1, y2 = np.random.randint(1, 25, size=(2, 5))
width = 0.25
ax = plt.subplot(1,1,1)
ax.bar(x, y1, width, color='r')
ax.bar(x+width, y2, width, color='g')
ax.set_xticks(x+width)
ax.set_xticklabels(['a', 'b', 'c', 'd', 'e'])
plt.show()

매트릭스 그리기

m = np.random.rand(10,10)
print(m)
plt.imshow(m, interpolation='nearest', cmap=plt.cm.ocean)
plt.colorbar()
plt.show()

컬러 코딩 라인

ax.plot(x,y,'r--') == ax.plotx,y,linestyle=--',color=r')

마크, 라벨, 전설

  • 설정 스케일 범위
    • plt.xlim(),plt.ylim()
    • ax.set_xlim(),ax.set_ylim()
  • 스케일 디스플레이를 설정
    • plt.xticks(),plt.yticks()
    • ax.set_xticks(),ax.set yticks)
  • 설정 규모 라벨
    • ax.set_xticklabels(),ax.set yticklabels()
  • 설정 축 라벨
    • `ax.set_xlabel (), ax.set의 ylabel0 ()
  • 설정 제목
    • ax.set title()
  • 전설
    • ax.plot(label=legend')
    • ax.legend),plt.legend()
      • loc=‘best' 자동으로 최적의 배치 위치 범례를 선택

하기 matplotlib 설정

plt.rc ()

사용자 정의하기 matplotlib

1.4 3D 그래픽

3D 그래픽을 지원하기 matplotlib

다음 코드는, 다른 년 다른 나라의 평균 수명을 제공합니다.

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import pandas as pd
import numpy as np
import matplotlib; matplotlib.style.use('ggplot')

%matplotlib inline

# 读取 csv 数据集
lexp = pd.read_csv('lexpectancy.csv')
lexp.dropna(inplace=True)
lexp.reset_index(inplace=True)
plot_data = lexp[['Country', '1960', '1970', '1980', '1990', '2000']][:3]
print(plot_data)

fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection='3d')

country_list = plot_data['Country'].values.tolist()
year_list = ['1960', '1970', '1980', '1990', '2000']

for i, (color, z) in enumerate(zip(['r', 'g', 'b'], [0, 10, 20])):
    age_list = plot_data.iloc[i][1:].values.tolist()
    xs = np.arange(len(age_list))
    ys = age_list
    cs = [color] * len(age_list)
    ax.bar(xs, ys, zs=z, zdir='y', color=cs, alpha=0.8)


ax.set_xticklabels(year_list)
ax.set_yticks([0, 10, 20])
ax.set_yticklabels(country_list)

ax.set_xlabel('Year')
ax.set_ylabel('Country')
ax.set_zlabel('Age')

이상의 기준 mplot3d 튜토리얼

2 시본

시본 무엇입니까

  • 파이썬은 매핑 도구 라이브러리, 당신은 매력적이고 유익한 차트를 만들 수 있습니다
  • 在 Matplotlib 上构建,支持 numpy 和 pandas 的数据结构可视化,甚至是 scipy 和 statsmodels 的统计模型可视化

特点

2.2 安装

conda 安装:conda install seaborn
pip 安装:pip install seaborn

2.3 引用

import seaborn as sns

2.4 数据集分布可视化

  • 单变量分布 sns.distplot)
    • 直方图 sns.distplot(kde=False)
    • 核密度估计 sns.distplot(hist=False)或 sns.kdeplot)
    • 拟合参数分布 sns.distplot(kde=False,fit=)
  • 双变量分布
    • 散布图 sns.jointplot0
    • 二维直方图 Hexbin sns.jointplot(kind=‘hex)
    • 核密度估计 sns.jointplot(kind=‘kde')
  • 数据集中变量间关系可视化 sns.pairplot()

2.5 类别数据可视化

  • 类别散布图
    • sns.stripplot() 数据点会重叠
    • sns.swarmplot() 数据点避免重叠
    • hue 指定子类别
  • 类别内数据分布
    • 盒子图 sns.boxplot(),hue 指定子类别
    • 小提琴图 sns.violinplot(),hue 指定子类别
  • 类别内统计图
    • 柱状图 sns.barplot()
    • 点图 sns.pointplot()

3 Bokeh

什么是 Bokeh

  • 专门针对 Web 浏览器的交互式、可视化 Python 绘图库
  • 可以做出像 D3.,js 简洁漂亮的交互可视化效果

特点

  • 独立的 HTML 文档或服务端程序
  • 可以处理大量、动态或数据流
  • 支持 Python(或 Scala,R,Julia.)
  • 不需要使用 Javascript

Bokeh 接口

  • Charts:高层接口,以简单的方式绘制复杂的统计图
  • Plotting:中层接口,用于组装图形元素
  • Models:底层接口,为开发者提供了最大的灵活性

3.1 安装

conda 安装:conda install bokeh
pip 安装:pip install bokeh

3.2 引用

  • 生成. html 文档
    from bokeh.io import output file
  • 在 jupyter 中使用
    from boken.io import output_notebook

3.3 bokeh.charts

引用和导入数据

# 引用
from bokeh.io import output_notebook, output_file, show
from bokeh.charts import Scatter, Bar, BoxPlot, Chord
from bokeh.layouts import row

import seaborn as sns

# 导入数据
exercise = sns.load_dataset('exercise')
# 在使用 Jupyter notebook 时设置
output_notebook()

散点图

p = Scatter(data=exercise, x='id', y='pulse', title='exercise dataset')
show(p)

柱状图

p = Bar(data=exercise, values='pulse', label='diet', stack='kind', title='exercise dataset')
show(p)

盒子图

box1 = BoxPlot(data=exercise, values='pulse', label='diet', color='diet', title='exercise dataset')
box2 = BoxPlot(data=exercise, values='pulse', label='diet', stack='kind', color='kind', title='exercise dataset')
show(row(box1, box2)) # 显示两张图

弦图 Chord

  • 展示多个节点之间的联系
  • 连线的粗细代表权重
chord1 = Chord(data=exercise, source="id", target="kind")
# value 设置以什么为粗细
chord2 = Chord(data=exercise, source="id", target="kind", value="pulse")

show(row(chord1, chord2))

更多参考:Bokeh 官网

3.4 bokeh.plotting

from bokeh.plotting import figure
import numpy as np

p = figure(plot_width=400, plot_height=400)
# 方框
p.square(np.random.randint(1,10,5), np.random.randint(1,10,5), size=20, color="navy")

# 圆形
p.circle(np.random.randint(1,10,5), np.random.randint(1,10,5), size=10, color="green")
show(p)

更多图形元素参考:Bokeh 官网

추천

출처www.cnblogs.com/banshaohuan/p/11329103.html