导读

本系列将继续更新50个matplotlib可视化示例,次要参考Selva PrabhakaranMachineLearning Plus上公布的博文:Python可视化50图

定义

关联图是查看两个事物之间关系的图像,它可能展现出一个事物随着另一个事物是如何变动的。关联图的类型有:折线图,散点图,相关矩阵等。

散点图

测试

  • 导入须要应用的库
import numpy as npimport pandas as pdimport matplotlib as mplimport matplotlib.pyplot as pltimport seaborn as sns
  • plt.scatter
#绘制超简略的散点图:变量x1与x2的关系#定义数据x1 = np.random.randn(10) #取随机数x2 = x1 + x1**2 - 10#确定画布 - 当只有一个图的时候,不是必须存在plt.figure(figsize=(8,4))#绘图plt.scatter(x1,x2 #横坐标,纵坐标            ,s=50 #数据点的尺寸大小            ,c="red" #数据点的色彩            ,label = "Red Points"           )#装璜图形plt.legend() #显示图例plt.show() #让图形显示

  • 例子
# 除了两列X之外,还有标签y的存在# 在机器学习中,常常应用标签y作为色彩来察看两种类别的散布的需要X = np.random.randn(10,2)  # 10行,2列的数据集y = np.array([0,0,1,1,0,1,0,1,0,0])colors = ["red","black"]  # 确立色彩列表labels = ["Zero","One"]  # 确立标签的类别列表for i in range(X.shape[1]):    plt.scatter(X[y==i,0],               X[y==i,1],               c=colors[i],               label = labels[i])# 在标签中存在几种类别,就须要循环几次,一次画一个色彩的点plt.legend()plt.show()

实战

数据

# 导入数据midwest = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/midwest_filter.csv")# 摸索数据midwest.shape  midwest.head()midwest.columns

标签

midwest['category']

# 提取标签中的类别categories = np.unique(midwest['category'])  # 去掉所有反复的项categories  # 查看应用的标签,如下图

色彩

  • plt.cm.tab10()

用于创立色彩的十号光谱,在 matplotlib 中,有泛滥光谱供咱们抉择:https://matplotlib.org/stable... 。能够在plt.cm.tab10()中输出任意浮点数,来提取出一种色彩。光谱tab10中总共只有十种色彩,如果输出的浮点数比拟靠近,会返回相似的色彩。这种色彩会以元祖的模式返回,示意为四个浮点数组成的RGBA色调空间或者三个浮点数组成的RGB色调空间中的随机色调。

color1 = plt.cm.tab10(5.2)color1  # 四个浮点数组成的一个色彩

绘图

# 预设图像的各种属性large = 22; med = 16; small = 12params = {'axes.titlesize': large,   # 子图上的题目字体大小          'legend.fontsize': med,   # 图例的字体大小          'figure.figsize': (16, 10), # 图像的画布大小          'axes.labelsize': med,   # 标签的字体大小          'xtick.labelsize': med,  # x轴上的标尺的字体大小          'ytick.labelsize': med,  # y轴上的标尺的字体大小          'figure.titlesize': large}  # 整个画布的题目字体大小plt.rcParams.update(params)  # 设定各种各样的默认属性plt.style.use('seaborn-whitegrid')  # 设定整体格调sns.set_style("white")  # 设定整体背景格调# 筹备标签列表和色彩列表categories = np.unique(midwest['category'])colors = [plt.cm.tab10(i/float(len(categories)-1)) for i in range(len(categories))]# 建设画布plt.figure(figsize=(16, 10)   # 绘图尺寸           , dpi=100          # 图像分辨率           , facecolor='w'    # 图像的背景色彩,设置为红色,默认也是红色           , edgecolor='k'    # 图像的边框色彩,设置为彩色,默认也是彩色          )# 循环绘图for i, category in enumerate(categories):    plt.scatter('area', 'poptotal',                 data=midwest.loc[midwest.category==category, :],                 s=20, c=np.array(colors[i]).reshape(1,-1), label=str(category))# 对图像进行装璜# plt.gca() 获取以后的子图,如果以后没有任何子图的话,就创立一个新的子图plt.gca().set(xlim=(0, 0.12), ylim=(0, 80000))  # 管制横纵坐标的范畴plt.xticks(fontsize=12)  # 坐标轴上的标尺的字的大小plt.yticks(fontsize=12)plt.ylabel('Population',fontsize=22)  # 坐标轴上的题目和字体大小plt.xlabel('Area',fontsize=22)plt.title("Scatterplot of Midwest Area vs Population", fontsize=22)  # 整个图像的题目和字体的大小plt.legend(fontsize=12)  # 图例的字体大小plt.show()


欢送Star -> 学习目录 <- 点击跳转

国内链接 -> 学习目录 <- 点击跳转


本文由mdnice多平台公布