【Pandas基础教程】Matplotlib数据可视化

目录

  • 1. 项目简介
  • 2. 应用实例
    • 2.1 折线图
    • 2.2 直方图
    • 2.3 饼图

1. 项目简介

Matplotlib是一个用于生成高质量图表(通常是二维)的交互式可视化类库,支持在Python环境下进行Matlab风格的绘图,同时支持将图表导出为常用的图形格式(PDF、SVG、JPG、PNG、BMP、GIF等)。该项目由John Hunter于2002年发起,经过与IPython社区的合作简化了在IPython/Jupyter中的交互式体验。

作为数据可视化工具,Matplotlib略显底层,提供的图表较为基本,视觉美观度欠佳,因而催生了Seaborn、HoloViews等高级组件。

  • 安装conda install matplotlib
  • 导入import matplotlib.pyplot as plt
  • 增强交互性(仅限于IPython/Jupyter)%matplotlib inline

2. 应用实例

2.1 折线图

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 准备数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tanh(x)

# 图表绘制
plt.figure(figsize=(12,4))
plt.plot(x, y1, 'r-o', label='$sin(x)$', linewidth=0.3)
plt.plot(x, y2, 'b-*', label='$cos(x)$', linewidth=0.3)
plt.plot(x, y3, 'g-^', label='$tanh(x)$', linewidth=0.3)

# 添加元素
plt.xlabel('t/s')
plt.ylabel('V')
plt.title('Trigonometric Graph')
plt.legend()

# 图表输出
plt.savefig('Trigonometric Graph.jpg')
plt.show()

2.2 直方图

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 准备数据
df_train = pd.read_csv('./datas/titanic/titanic_train.csv')
values = df_train['Fare'].sort_values(ascending=False)
bins = np.arange(0, 800, 40)

# 图表绘制
plt.hist(values, bins=bins)

# 添加元素
plt.xlabel('Fare')
plt.ylabel('Frequency')
plt.title('Fare Payed Histrogram')

# 图表输出
plt.tight_layout()
plt.savefig('Fare Payed Histrogram.jpg')
plt.show()

2.3 饼图

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 准备数据
df_train = pd.read_csv('./datas/titanic/titanic_train.csv')
labels = df_train['Pclass'].unique()
props = list();
for val in labels:
    props.append((df_train['Pclass'] == val).sum())

# 图表绘制
plt.pie(
    props,       # 数值 
    labels = labels,  # 标签
    shadow = False,  # 有无阴影
    colors = ['blue', 'red', 'green'],  # 标签颜色
    explode = (0.1, 0, 0),              # 离心距离
    startangle = 90,                    # 起始角度
    autopct = '%1.1f%%'                 # 保留一位小数百分比
)

# 添加元素
plt.title('Pclass Proportion')
plt.axis('equal')


# 图表输出
plt.tight_layout()
plt.savefig('Titanic Pclass Proportion.jpg')
plt.show()

你可能感兴趣的:(Python,编程基础,Matplotlib)