直方图python_荐 Python可视化matplotlib13-iris鸢尾花数据集...

直方图(histogram)展示离散型数据分布情况,直观理解为将数据按照一定规律分区间,统计每个区间中落入的数据频数,绘制区间与频数的柱状图即为直方图。

公众号:“pythonic生物人“,分享数据科学,来关注哈!

写作时间:2020-07-09夜,有问题可留言或者我的公众号。

目录

1、绘图数据集准备

import matplotlib.pyplot as plt

import numpy as np

import pandas as pd

from pandas import Series,DataFrame

from sklearn import datasets

iris=datasets.load_iris()

x, y = iris.data, iris.target

pd_iris = pd.DataFrame(np.hstack((x, y.reshape(150, 1))),columns=['sepal length(cm)','sepal width(cm)','petal length(cm)','petal width(cm)','class'] )

选取pd_iris['sepal length(cm)']数据绘制直方图 ,查看数据基本情况:

pd_iris['sepal length(cm)'].head()

0 5.1

1 4.9

2 4.7

3 4.6

4 5.0

Name: sepal length(cm), dtype: float64

pd_iris['sepal length(cm)'].describe()

count 150.000000

mean 5.843333

std 0.828066

min 4.300000

25% 5.100000

50% 5.800000

75% 6.400000

max 7.900000

Name: sepal length(cm), dtype: float64

2、matplotlib.pyplot.hist直方图参数详解

修改对应参数,即可体验对应参数的功能;

大部分参数使用默认值即可。

import palettable

import random

plt.figure(dpi=150)

data=pd_iris['sepal length(cm)']

n, bins, patches=plt.hist(x=data,

##箱子数(bins)设置,以下三种不能同时并存

#bins=20,#default: 10

#bins=[4,6,8],#分两个箱子,边界分别为[4,6),[6,8]

#bins='auto',# 可选'auto', 'fd', 'doane', 'scott', 'stone', 'rice', 'sturges', or 'sqrt'.

#选择最合适的bin宽,绘制一个最能反映数据频率分布的直方图

#range=(5,7),#最左边和最右边箱子边界,不指定时,为(x.min(), x.max())

#density=True, #默认为False,y轴显示频数;为True y轴显示频率,频率统计结果=该区间频数/(x中总样本数*该区间宽度)

#weights=np.random.rand(len(x)),#对x中每一个样本设置权重,这里随机设置了权重

cumulative=False,#默认False,是否累加频数或者频率,及后面一个柱子是前面所有柱子的累加

bottom=0,#设置箱子y轴方向基线,默认为0,箱子高度=bottom to bottom + hist(x, bins)

histtype='bar',#直方图的类型默认为bar{'bar', 'barstacked', 'step', 'stepfilled'}

align='mid',#箱子边界值的对齐方式,默认为mid{'left', 'mid', 'right'}

orientation='vertical',#箱子水平还是垂直显示,默认垂直显示('vertical'),可选'horizontal'

rwidth=1.0,#每个箱子宽度,默认为1,此时显示50%

log=False,#y轴数据是否取对数,默认不取对数为False

color=palettable.colorbrewer.qualitative.Dark2_7.mpl_colors[3],

label='sepal length(cm)',#图例

#normed=0,#功能和density一样,二者不能同时使用

facecolor='black',#箱子颜色

edgecolor="black",#箱子边框颜色

stacked=False,#多组数据是否堆叠

alpha=0.5#箱子透明度

)

plt.xticks(bins)#x轴刻度设置为箱子边界

for patch in patches:#每个箱子随机设置颜色

patch.set_facecolor(random.choice(palettable.colorbrewer.qualitative.Dark2_7.mpl_colors))

#直方图三个返回值

print(n)#频数

print(bins)#箱子边界

print(patches)#箱子数

#直方图绘制分布曲线

plt.plot(bins[:10],n,'--',color='#2ca02c')

plt.hist(x=[i+0.1 for i in data],label='new sepal length(cm)',alpha=0.3)

plt.legend()

[ 9. 23. 14. 27. 16. 26. 18. 6. 5. 6.]

[4.3 4.66 5.02 5.38 5.74 6.1 6.46 6.82 7.18 7.54 7.9 ]

b_0_202007112049542662.png

3、参考资料

4、我的公众号

"pythonic生物人",持续分享数据科学和生物信息干货,欢迎来看看。

b_0_202007112049557588.jpg

本文地址:https://blog.csdn.net/qq_21478261/article/details/107218300

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

人工智能时代,编程已成为一项基本技能。Python,人工智能时代最佳的编程入门语言。本系列课程分为三部分:手把手教你学Python(基础篇)、手把手教你学Python(进阶篇)、手把手教你学Python(实战篇)。面向零基础用户,从无到有,从易到难,层层递进,带你遨游Python世界;采用案例驱动,即学即练即用,将学习落到实处。人工智能时代,编程已成为一项基本技能。国内一些发达省市,已将编程纳入中小学教材;编程门槛大幅降低,已不再是计算机行业的专利;学编程训练思维,受益终生;掌握编程可有效,提升工作效率。Python,人工智能时代最佳的编程入门语言。设计人性化,语法简单,容易掌握,近年来热度不断攀升;丰富的内置标准库,强大的第三方库,大大缩减编程工作量;网络爬虫、数据处理、科学计算方面的优势,适用于各行各业;强大的技术体系,能够胜任Web开发、系统运维、人工智能等主流领域本系列课程的主要内容安排。   基础篇:语法基础程序结构基本数据结构函数与异常处理常见库操作文件操作 …………   进阶篇:面向对象思想数据库操作Numpy库介绍Pandas库介绍数据可视化机器学习算法…………   实战篇:网络爬虫原理Requests库学习电影网站信息抓取Scrapy爬虫框架研招网数据抓取学位论文数据抓取…………课程教学特点:零基础,从无到有,从易到难,层层递进,带你遨游Python的世界;理论联系实践,案例驱动,即学即练即用,将学习落到实处;提供学习交流平台,在线答疑,自学途中不迷茫;本课程适用人群:计算机相关专业的新生准备转型从事数据处理的职场人员各行各业在职数据处理人员希望从事科学研究的人员程序设计爱好者课程目录安排如下: 第9章 Python面向对象9_1_类和对象9_2_实例变量9_3_类变量9_4_类中的方法9_5_类的继承9_6_对象的拷贝9_7_本章小结9_8_练习讲解19_9_练习讲解2第10章 Python操作数据库10_1_数据库基础10_2_结构化查询语句SQL10_3_Python操作数据库核心API10_4_Python操作数据库案例10_5_本章小结10_6_练习讲解第11章 Numpy入门与实践11_1_数组对象-ndarray11_2_索引和切片(上)11_3_索引和切片(下)11_4_Numpy中的通用函数11_5_数组运算11_6_本章小结11_7_练习讲解第12章 Pandas入门与实践12_1_Series和Index介绍12_2_Series数据访问和常用方法12_3_DataFrame创建与数据访问12_4_DataFrame中的属性和方法12_5_DataFrame的合并12_6_Pandas加载数据和缺失值处理12_7_Pandas中分组操作12_8_Pandas中数据合并操作12_9_Pandas综合案例12_10_本章小结12_11_练习讲解第13章 数据可视化-matplotlib13_1_pyplot绘图基础13_2_绘制线形图13_3_绘制直方图13_4_绘制条形图13_5_绘制饼状图13_6_绘制散点图13_7_生成词云图13_8_本章小结13_9_练习讲解第14章 机器学习库 Scikit-learn14_1_机器学习基础14_2_鸢尾花数据读取和可视化14_3_自己写KNN算法实现14_4_调用sklearn中的KNN算法14_5_波士顿房价预测问题14_6_手写数字识别14_7_本章小结 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值