目录
5.1 Matplotlib绘图基础
使用前导入子库import matplotlib.pyplot as plt
1.对figure对象进行绘制
2.划分子图
3.字体设置
4.添加标题
suptitle函数参数
title函数参数
可使用tight_layout函数检查坐标轴标签、刻度标签、子图标题、自动调整子图等
调整子图位置
import matplotlib.pyplot as plt
plt.rcParams["font.family"]="Simhei"
fig=plt.figure(facecolor='lightgrey')
plt.subplot(2,2,1)
plt.title("子标题1")
plt.subplot(2,2,2)
plt.title("子标题2",loc='left',color='b')
plt.subplot(2,2,3)
myfontdict={"fontsize":12,"color":"g","rotation":30}
plt.title('子标题3',fontdict=myfontdict)
plt.subplot(2,2,4)
plt.title('子标题4',color='white',backgroundcolor='black')
plt.suptitle('全局标题',fontsize=20,color='red',backgroundcolor='yellow')
plt.tight_layout(rect=[0,0,1,0.9])
plt.show
5.2 散点图
1.绘制散点图
2. 添加文字
3.坐标轴设置
显示图例
5.3 折线图和柱形图
1.折线图
plot函数
2.柱形图
5.4 实例一:房价数据集可视化
公开数据集
Keras:神经网络与深度学习库
1.加载数据集
import tensorflow as tf
boston_housing =tf.keras.datasets.boston_housing
(train_x,train_y),(test_x,test_y)=boston_housing.load_data()
数据包括训练集和测试集,其中又包括了房屋属性与房价两个特征
改变数据集划分比例
(train_x,train_y),(test_x,test_y)=boston_housing.load_data(test_split=0)
本例无需测试集
2.数据可视化
import matplotlib.pyplot as plt
import numpy as np
import tensorflow as tf
boston_housing =tf.keras.datasets.boston_housing
(train_x,train_y),(_,_)=boston_housing.load_data(test_split=0)
plt.figure(figsize=(5,5))
plt.scatter(train_x[:,5],train_y)
plt.xlabel("RM")
plt.ylabel("PRICE")
plt.title("RM-PRICE")
plt.show
若要绘制13个属性对房价的影响
plt.figure(figsize=(12,12))
for i in range(13):
plt.subplot(4,4,(i+1))
plt.scatter(train_x[:,i],train_y)
plt.show
5.5 实例二:鸢尾花数据集可视化
1.下载数据
TRAIN_URL="http://download.tensorflow.org/data/iris_training.csv"
train_path=tf.keras.utils.get_file("iris_trainning.csv",TRAIN_URL)
该数据集包含了训练集与测试集
split函数可通过指定分隔符对字符串进行切片,并返回列表
2.Pandas库
·导入pandas库
import pandas as pd
·读取CSV格式文件
header可以设置列标题,即行号,从0开始
例:header=0,第一行数据作为列标题
names自定义列标题,代替header参数指定的列标题
head(n)函数:参数为空时,默认读取二维数据表中的前五行数据
tail(n)函数:读取后n行数据
可以使用索引和切片访问列表数据
describe方法:显示二维数据的统计信息
·数据转换
可以使用array将二维数据转换为数组
3.数据可视化
·色彩映射
import matplotlib.pyplot as plt
import numpy as np
import tensorflow as tf
import pandas as pd
TRAIN_URL="http://download.tensorflow.org/data/iris_training.csv"
train_path=tf.keras.utils.get_file(TRAIN_URL.split('/')[-1],TRAIN_URL)
df_iris = pd.read_csv(train_path,header=0)
iris=np.array(df_iris)
plt.scatter(iris[:,2],iris[:,3],c=iris[:,4],cmap='brg')
plt.show()