import matplotlib.pyplot as plt
from matplotlib.pyplot import MultipleLocator#从pyplot导入MultipleLocator类,这个类用于设置刻度间隔
import seaborn as sns
sns.set()  #切换到sns的默认运行配置
import warnings
warnings.filterwarnings('ignore')sns.set_style('white')
plt.figure(figsize=(12,10))#绘制画布
sns.distplot(up_dis['HubDist'],hist = True,bins=17,kde = True,rug = True,rug_kws = {'color':'b','lw':2,'alpha':0.5,'height':0.1} ,   # 设置数据频率分布颜色#控制是否显示观测的小细条(边际毛毯)kde_kws={"color": "b", "lw": 1.5, 'linestyle':'-'})
sns.distplot(down_dis['HubDist'],hist = True,bins=17,kde = True,rug = True,rug_kws = {'color':'orange','lw':2,'alpha':0.5} , kde_kws={"color": "orange", "lw": 1.5, 'linestyle':'-'})# 设置密度曲线颜色,线宽,标注、线形,#控制是否显示核密度估计图
x_major_locator=MultipleLocator(30)#把x轴的刻度间隔设置为30,并存在变量里
ax=plt.gca()#ax为两条坐标轴的实例
ax.xaxis.set_major_locator(x_major_locator)#把x轴的主刻度设置为30的倍数
plt.xlim(0,540)
plt.xlabel('HubDist/m')
plt.legend(["up_dis","down_dis"])#添加图例
plt.grid(linestyle = '--')     # 添加网格线
plt.title("Histogram & Density Estimation of Distances Between the Cluster Centres and Nearest Intersection",fontsize=16)  # 添加图表名
plt.savefig(fname="聚类中心最邻近交叉口距离直方图&密度分布图sns.png")

用matpltlib也可以绘制出同样效果:

##两组数据重叠
plt.figure(figsize=(20,20))#绘制画布
data=pd.DataFrame({'up_dis':up_dis['HubDist'],'down_dis':down_dis['HubDist']})
xmajorLocator   = MultipleLocator(30)
ax.xaxis.set_major_locator(xmajorLocator)
#绘制密度分布图
plt.figure(figsize=(12,10))
data.plot(kind = 'kde',color = ['c','r'],label = 'density')
plt.xlim(0,540)              # 获取当前子图
plt.xticks(np.arange(0,540,30))
# ax.spines['right'].set_color('none')  # 右边框设置无色
# ax.spines['top'].set_color('none')    # 上边框设置无色
# 显示图例
plt.legend()
#绘制直方图
plt.hist(up_dis['HubDist'], 17, alpha=0.5, color ='c',label='up_dis',density = True)
plt.hist(down_dis['HubDist'], 17, alpha=0.5, color ='r',label='down_dis',density = True)
plt.xticks(np.arange(0,540,30))
plt.title("Histogram & Density Estimation of Distances Between the Cluster Centres and Nearest Intersection")
plt.legend()

##两组数据平铺分组
plt.figure(figsize=(20,20))#绘制画布
data=pd.DataFrame({'up_dis':up_dis['HubDist'],'down_dis':down_dis['HubDist']})
xmajorLocator   = MultipleLocator(30)
ax.xaxis.set_major_locator(xmajorLocator)
#绘制密度分布图
plt.figure(figsize=(12,10))
data.plot(kind = 'kde',color = ['c','r'],label = 'density')
plt.xlim(0,540)              # 获取当前子图
plt.xticks(np.arange(0,540,30))
# ax.spines['right'].set_color('none')  # 右边框设置无色
# ax.spines['top'].set_color('none')    # 上边框设置无色
# 显示图例
plt.legend()#绘制直方图
plt.hist(x = data,            # 绘图数据bins = 17,            # 指定直方图的条形数为20个edgecolor = 'w',      # 指定直方图的边框色color = ['c','r'],    # 指定直方图的填充色label = ['up_dis','down_dis'],     # 为直方图呈现图例,分别为上下行聚类中西你距离交叉口距离density = True,      # 是否将纵轴设置为密度,即频率alpha = 0.6,          # 透明度rwidth = 1,           # 直方图宽度百分比:0-1stacked = False)      # 当有多个数据时,是否需要将直方图呈堆叠摆放,默认水平摆放
plt.xticks(np.arange(0,540,30))
plt.xlabel('HubDist/m')
plt.title("Histogram & Density Estimation of Distances Between the Cluster Centres and Nearest Intersection")
plt.legend()
#保存图片
# plt.savefig(fname="聚类中心最邻近交叉口距离直方图&密度分布图.png",figsize=[30,30])

聚类中心-最邻近交叉口距离密度分布图相关推荐

  1. 聚类,k-mean方法,基于密度的方法:DBSCAN,孤立点检测——数据分析与R语言 Lecture 10

    聚类,k-mean方法,基于密度的方法:DBSCAN,孤立点检测--数据分析与R语言 Lecture 10 聚类 dist( )函数 各种类与类之间距离计算的方法 动态聚类:K-means方法 kme ...

  2. K均值聚类关于初始聚类中心的探讨(matlab程序)

    对应之前发过的:K均值聚类关于初始聚类中心的探讨,补发MATLAB的程序代码. matlab程序: 1. %利用传统K均值随机选取点聚类 clear all; close all; clc; %生成五 ...

  3. K均值聚类关于初始聚类中心的探讨

    摘要:进入二十一世纪以来,科学技术的不断发展,使得数据挖掘技术得到了学者越来越多的关注.数据挖掘是指从数据库中发现隐含在大量数据中的新颖的.潜在的有用信息和规则的过程,是一种处理数据库数据的知识发现. ...

  4. DBSCAN聚类︱scikit-learn中一种基于密度的聚类方式

    文章目录 @[toc] 一.DBSCAN聚类概述 1.伪代码 2.优点: 3.缺点: 4.与其他聚类算法比较 二.sklearn中的DBSCAN聚类算法 1.主要函数介绍: 最重要的两个参数: 其他主 ...

  5. 讨论k值以及初始聚类中心对聚类结果的影响_K均值聚类需要标准化数据吗

    摘要:进入二十一世纪以来,科学技术的不断发展,使得数据挖掘技术得到了学者越来越多的关注.数据挖掘是指从数据库中发现隐含在大量数据中的新颖的.潜在的有用信息和规则的过程,是一种处理数据库数据的知识发现. ...

  6. 【网络流量识别】【聚类】【三】自适应密度FCM和自适应权重K-Means

    目录 第一篇:自适应密度的模糊聚类 (一)文章内容概述 (二)自适应密度FCM 第二篇:自适应权重的K-Means聚类分析 (一)文章内容概述 (二)自适应权重的K-Means聚类方法 (三)实验结果 ...

  7. K均值聚类关于初始聚类中心选取的一种改进(python程序)

    本程序是K均值聚类关于初始聚类中心选取的一种改进,原理来自于周志华的机器学习,这里只是尝试用python实现下.刚开始学习python,可能有问题大家觉得有用就借鉴下,如果哪里有问题还望指正.关于K均 ...

  8. 通过聚类中心进行0-9数字语音识别(matlab)——基于K-means聚类

    项目已免费开源:https://gitee.com/zhengzsj/automatic-speech-recognition–ars/tree/master 1.技术路线 2.实现过程   层次聚类 ...

  9. 聚类(Clustering)定义、聚类思想及形式、距离的度量

    聚类(Clustering)定义.聚类思想及形式.距离的度量 目录 聚类(Clustering)定义.聚类思想及形式.距离的度量 聚类(Clustering)定义

最新文章

  1. Linux 创建子进程执行任务
  2. 【译】function.caller 被认为是有害的
  3. 去除Word中插入的Visio对象的空白
  4. C语言迷题:有符号数与无符号数的问题(转)
  5. 【控制】《多智能体系统的动力学分析与设计》徐光辉老师-第10章-带有分层领航者的多智能体系统的混杂协调
  6. HihoCoder - 1831 - 80 Days(暴力)
  7. 研究所月入两万,是一种什么体验?
  8. 排查 .NET开发的工厂MES系统 内存泄漏分析
  9. javascript设置首页,加入收藏
  10. 外卖侠使用教程【干货】
  11. Linux 磁盘无损扩容
  12. 民航订票管理系统设计
  13. 赵海平与张宏波谈编程语言
  14. http(S)系列之(五):android之HttpURLConnection源码解析(1)
  15. 抖音播放量不到200,新手该如何自救?
  16. jQuery TagsInput
  17. 湖南农业大学有计算机应用,计算机应用基础复习资料–湖南农业大学.doc
  18. Origin 三种方法在图片中添加水平辅助线
  19. docker 中文乱码解决
  20. 信息系统安全实验——Week 8

热门文章

  1. AC-DMIS 5.3 工件与测针的准备
  2. 增加模拟前端的动态范围
  3. js input 赋值失效
  4. 在html中input是什么意思,HTML中input是什么意思
  5. 在Mac下使用Lemon
  6. java方法命名规则_java中方法的命名规范
  7. 网络游戏中的网络编程
  8. 一起来看看AMD最新显卡驱动22.11.1!
  9. “/”与“\”以及“//”与“\\”之间的区别
  10. 10. 查询没学过“张三”老师教授的任一门课程的学生姓名