直方图设置参数

x:指定要绘制直方图的数据;
bins:指定直方图条形的个数;
range:指定直方图数据的上下界,默认包含绘图数据的最大值和最小值;
normed:是否将直方图的频数转换成频率;
weights:该参数可为每一个数据点设置权重;
cumulative:是否需要计算累计频数或频率;
bottom:可以为直方图的每个条形添加基准线,默认为0;
histtype:指定直方图的类型,默认为bar,除此还有’barstacked’,‘step’, ‘stepfilled’;
align:设置条形边界值的对其方式,默认为mid,除此还有’left’和’right’;
orientation:设置直方图的摆放方向,默认为垂直方向;
rwidth:设置直方图条形宽度的百分比;
log:是否需要对绘图数据进行log变换;
color:设置直方图的填充色;
label:设置直方图的标签,可通过legend展示其图例;
stacked:当有多个数据时,是否需要将直方图呈堆叠摆放,默认水平摆放;


import numpy as np
import matplotlib.pyplot as plt

 
# 中文乱码和坐标轴负号处理。
matplotlib.rc('font', family='Calibri', weight='normal')  #'bold'
plt.rcParams['axes.unicode_minus'] = False


#指定图形的字体
font = {'family' : 'serif',
        'color'  : 'darkred',
        'weight' : 'normal',
        'size'   : 16}

#绘图。
#fig, ax = plt.subplots()
#b = ax.barh(range(len(job)), data, color='palegreen')

# params
# x: 条形图x轴
# y:条形图的高度
# width:条形图的宽度 默认是0.8
# bottom:条形底部的y坐标值 默认是0
# align:center / edge 条形图是否以x轴坐标为中心点或者是以x轴坐标为边缘

c = ['lightcoral', 'coral', 'darkorange', 'gold','palegreen',
     'paleturquoise','skyblue','plum','hotpink','pink','green']

job = ["data science","artificial intelligence","software develop",
       "machine learning","analytic","cloud computer","management",
       "digital marketing","cyber secruity","sales","design"]        

percentage = [17,14,12,11,10,8,7,7,6,5,3]

 
#为横向水平的柱图右侧添加数据标签。

plt.xlabel('percentage of aspirants interest',fontsize=17)
plt.ylabel('Domains',fontsize=30)
plt.barh(range(len(percentage),0,-1), percentage, tick_label=job, color=c)

plt.legend()
plt.show()

我想用 "一图胜千言 "这句老话来开始这篇文章。

这就是数据可视化的意义所在。数据可视化是数据科学和数据分析的一个组成部分。
它不仅有助于我们理解数据,而且还能以更容易理解的图形形式呈现数据的洞察力。

AI/ML/DS职位和希望新的一年在瞄准并专注哪些领域domains的学习

不妨就试试实现上述直方图:

维恩图

如何在Python中设计专业的维恩图
使用matplotlib-venn绘制时尚和专业的维恩图的快速指南

两者都是无响应性的。源于此。作者
上周我正在为我的Python课设计一些阅读材料。讲座的主题是Python Sets。

为了说明一些函数,我想绘制维恩图。是的,就是你在数据展示中经常看到的重叠的圆圈图。

来源。Giphy
我在寻找设计专业维恩图的开源工具时,发现了Canva、Meta-Chart和Creately等工具。虽然它们有吸引人的设计,但没有一个有必要的优雅,而且很少可以定制。

在谷歌搜索的某处,我遇到了matplotlib-venn,并爱上了它。

matplotlib-venn库允许你完全定制你的Venn图,从圆圈的大小到边界类型和线宽。下面是一个使用这个库生成的样本图。

由作者生成和清理。代码来源于库的主页。
在多个项目中使用这个库后,我决定通过这个教程分享我所学到的东西。我将解释如何使用matplotlib-venn来创建你自己的专业维恩图。

设置
本教程中的所有例子都在运行Python 3.7的Jupyter笔记本上测试。我们将在本教程中使用matplotlib-venn。

本教程有一个配套的Jupyter笔记本,在这里。

维恩图的介绍
维恩图是一种用来描述不同组或集之间逻辑关系的图示。

每个组用一个圆圈表示。每个圆圈的大小与该组的大小/重要程度相对应。

这些圆圈之间的重叠代表两组之间的交集。因此,这些图对于识别每组之间的共享元素特别有用。

让我们看一个例子,以便更好地说明问题。假设你有一群选修多门学科的学生。其中两个科目是英语和法语。

English = {'John', 'Amy', 'Howard', 'Lucy', 'Alice', 'George', 'Jacob', 'Rajesh', 'Remy', 'Tom'}
French = {'Arthur', 'Leonard', 'Karan', 'Debby', 'Bernadette', 'Alice', 'Ron', 'Penny', 'Sheldon', 'John'}

这两个科目各有十个学生。爱丽丝和约翰同时上英语和法语课。

Venn 对于英语和法语课。来源:《中国青年报》。作者
现在,我们将用维恩图来形象地描述这些集合。

两个圆圈的大小是一样的。这是因为这两个集合都有相同数量的学生。

两个圆圈之间的重叠部分包含两个对象。爱丽丝和约翰。

现在,我们了解了什么是维恩图,让我们用Python设计一些。

如何用Python创建维恩图?
第一步是导入所需的库:matplotlib-venn和matplotlib

然后,我们定义我们希望绘制的集合。
最后,我们将使用matplotlib-venn的venn2函数绘制我们的维恩图。
pip install matplotlib_venn

import matplotlib_venn
import matplotlib
venn2([English,French])
Output:
代码块
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容