数据可视化实例(十七):包点图 (matplotlib,pandas)
排序 (Ranking)
包点图 (Dot Plot)
包点图表传达了项目的排名顺序,并且由于它沿水平轴对齐,因此您可以更容易地看到点彼此之间的距离。
https://datawhalechina.github.io/pms50/#/chapter17/chapter17
导入所需要的库
- import numpy as np # 导入numpy库
- import pandas as pd # 导入pandas库
- import matplotlib as mpl # 导入matplotlib库
- import matplotlib.pyplot as plt
- import seaborn as sns # 导入seaborn库
设定图像各种属性
- large = 22; med = 16; small = 12
- params = {'axes.titlesize': large, # 设置子图上的标题字体
- 'legend.fontsize': med, # 设置图例的字体
- 'figure.figsize': (16, 10), # 设置图像的画布
- 'axes.labelsize': med, # 设置标签的字体
- 'xtick.labelsize': med, # 设置x轴上的标尺的字体
- 'ytick.labelsize': med, # 设置整个画布的标题字体
- 'figure.titlesize': large}
- #plt.rcParams.update(params) # 更新默认属性
- plt.style.use('seaborn-whitegrid') # 设定整体风格
- sns.set_style("white") # 设定整体背景风格
程序代码
- # step1:导入数据
- df_raw = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")
- df = df_raw[['cty', 'manufacturer']].groupby('manufacturer').apply(lambda x:x.mean())
- df.sort_values('cty', inplace = True) # 对'mpg_z这一列数据进行排序
- df.reset_index(inplace = True) # 对排序后的数据重置索引
- # step2: 绘制棒棒糖图
- # 创建画布对象以及子图对象
- fig,ax = plt.subplots(figsize = (16, 10), # 画布尺寸
- facecolor = 'white', # 画布颜色
- dpi = 80) # 分辨率
- # 绘制柱状图
- ax.hlines(y=df.index, # 纵坐标
- xmin=11, # 柱状图在x轴的起点
- xmax=26, # 柱状图在y轴的起点
- color='gray', # 柱状图的颜色
- alpha=0.7, # 透明度
- linewidth=1, # 线宽
- linestyles='dashdot') # 柱状图风格
- # 绘制柱形图上的散点
- ax.scatter(y=df.index, # 纵坐标
- x=df.cty, # 横坐标
- s=75, # 散点的尺寸
- color='firebrick', # 颜色
- alpha=0.7) # 透明度
- # step3:装饰
- # 设置标题、纵坐标的范围、横纵坐标的标题
- ax.set_title('Dot Plot for Highway Mileage', # 设置标题以及字体大小
- fontdict={'size':22})
- ax.set_xlabel('Miles Per Gallon') # 设置x轴标签
- ax.set_yticks(df.index) # 设置y轴标尺刻度
- ax.set_yticklabels(df.manufacturer.str.title(), # 刻度标尺的内容(所有单词都是以大写开始,其余字母均为小写)
- fontdict={'horizontalalignment': 'right'}) # 相对于刻度标水平对齐,且设置字体尺寸
- ax.set_xlim(10, 27) # 设置x轴范围
- plt.show() # 显示图像
数据可视化实例(十七):包点图 (matplotlib,pandas)的更多相关文章
- 【Matplotlib】数据可视化实例分析
数据可视化实例分析 作者:白宁超 2017年7月19日09:09:07 摘要:数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息.但是,这并不就意味着数据可视化就一定因为要实现其功能用途而令 ...
- 数据可视化实例(十四):面积图 (matplotlib,pandas)
偏差 (Deviation) 面积图 (Area Chart) 通过对轴和线之间的区域进行着色,面积图不仅强调峰和谷,而且还强调高点和低点的持续时间. 高点持续时间越长,线下面积越大. https:/ ...
- 数据可视化实例(三): 散点图(pandas,matplotlib,numpy)
关联 (Correlation) 关联图表用于可视化2个或更多变量之间的关系. 也就是说,一个变量如何相对于另一个变化. 散点图(Scatter plot) 散点图是用于研究两个变量之间关系的经典的和 ...
- seaborn线性关系数据可视化:时间线图|热图|结构化图表可视化
一.线性关系数据可视化lmplot( ) 表示对所统计的数据做散点图,并拟合一个一元线性回归关系. lmplot(x, y, data, hue=None, col=None, row=None, p ...
- 数据可视化实例(十四):带标记的发散型棒棒糖图 (matplotlib,pandas)
偏差 (Deviation) 带标记的发散型棒棒糖图 (Diverging Lollipop Chart with Markers) 带标记的棒棒糖图通过强调您想要引起注意的任何重要数据点并在图表中适 ...
- 数据可视化实例(十一): 矩阵图(matplotlib,pandas)
矩阵图 https://datawhalechina.github.io/pms50/#/chapter9/chapter9 导入所需要的库 import numpy as np # 导入numpy库 ...
- 数据可视化实例(九): 边缘箱形图(matplotlib,pandas)
https://datawhalechina.github.io/pms50/#/chapter7/chapter7 边缘箱形图 (Marginal Boxplot) 边缘箱图与边缘直方图具有相似的用 ...
- 数据可视化实例(七): 计数图(matplotlib,pandas)
https://datawhalechina.github.io/pms50/#/chapter5/chapter5 计数图 (Counts Plot) 避免点重叠问题的另一个选择是增加点的大小,这取 ...
- 数据可视化实例(八): 边缘直方图(matplotlib,pandas)
https://datawhalechina.github.io/pms50/#/chapter6/chapter6 边缘直方图 (Marginal Histogram) 边缘直方图具有沿 X 和 Y ...
随机推荐
- 13.Django-分页
使用Django实现分页器功能 要使用Django实现分页器,必须从Django中导入Paginator模块 from django.core.paginator import Paginator 假 ...
- 【JMeter_06】JMeter逻辑控制器__If控制器<If Controller>
If控制器<If Controller> 业务逻辑: 根据表达式的结果来决定是否执行控制器下的脚本内容,与编程语言中的if判断逻辑大致相同,表达式结果为布尔值 true或false; 当表 ...
- Andrew Ng - 深度学习工程师 - Part 1. 神经网络和深度学习(Week 3. 浅层神经网络)
=================第3周 浅层神经网络=============== ===3..1 神经网络概览=== ===3.2 神经网络表示=== ===3.3 计算神经网络的输出== ...
- 一个非侵入的Go事务管理库——如何使用
在文章"清晰架构(Clean Architecture)的Go微服务: 事物管理"中,我谈到了如何在清晰架构中实现非侵入的事务管理. 它允许你把事务代码与业务逻辑代码分开,并且让你 ...
- AbstractQueuedSynchronizer和ReentranLock基本原理
先把我主要学习参考的文章放上来先,这篇文章讲的挺好的,分析比较到位,最好是先看完这篇文章,在接下去看我写的.不然你会一脸懵逼,不过等你看完这篇文章,可能我的文章对你也用途不大了 深入分析Abstrac ...
- 【数位dp】CF 55D Beautiful numbers
题目 Volodya is an odd boy and his taste is strange as well. It seems to him that a positive integer n ...
- 《UNIX环境高级编程》(APUE) 笔记第五章 - 标准I/O库
5 - 标准I/O库 Github 地址 1. 标准 I/O 库作用 缓冲区分配 以优化的块长度执行 I/O 等 使用户不必担心如何选择使用正确的块长度 标准 I/O 最终都要调用第三章中的 I/O ...
- 51单片机入门(补充)1--与C语言的交接
我写完上一个文章,发现我写的还是不够全面,所以,这篇文章将会延续上一个文章的内容,并且再次补充新的东西,如果还有什么地方需要补充,还请各位一一指出,如果你已经学过这些东西,大可以直接跳过,假如说之后有 ...
- Oracle Online Patching报错"This is not a RAC setup. OPatch cannot determine the local node name"
Oracle Online Patching报错"This is not a RAC setup. OPatch cannot determine the local node name&q ...
- C#6.0到C#8.0的新特性
C#6.0新特性 C#7.0新特性 C#8.0新特性