python中hist的用法总结

plt.xticks()用法

获取或设置当前x轴刻度位置和标签。若不传递任何参数,则返回当前刻度值,说白了就是把坐标轴改成自己要的样子。

语法
xticks(ticks=None, labels=None, **kwargs)

参数
ticks:x轴刻度位置的列表,若传入空列表,即不显示x轴
labels:放在指定刻度位置的标签文本。当ticks参数有输入值,该参数才能传入参数
**kwargs:文本属性用来控制标签文本的展示,例如字体大小、字体样式等
例子

import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0,10,100)plt.plot(x, x*x)
plt.show()


如图可知,x轴默认给出的只有偶数刻度及其对应的文本标签。如果我们想要只显示x轴刻度从1到5,同时改变对应文本标签,并且让文本标签旋转一定角度(比如说30°)这里设置的角度是逆时针旋转的,我们可以使用

a = [1,2,3,4,5]
labels = ['A', 'B', 'C', 'D','E']
plt.xticks(a,labels,rotation = 30)
plt.plot(x, x*x)

如果不想显示x轴刻度,则传入空列表即可

bins用法

基础画法

import matplotlib.pyplot as plt
import numpy as npN_CLIENTS = 3
num, classes = 4, ['cat', 'dog', 'car', 'ship']
train_labels = [0, 3, 2, 0, 3, 2, 1, 0, 3, 3, 1, 0, 3, 2, 2]    # 数据集的标签列表
client_idcs = [slice(0, 4), slice(4, 11), slice(11, 15)]
# print(client_idcs)plt.figure(figsize=(5, 3))
plt.hist([train_labels[idc] for idc in client_idcs], stacked=False, bins=num,label=["Client {}".format(i) for i in range(N_CLIENTS)])
plt.xticks(np.arange(num), classes)
plt.legend()
plt.show()


如果bins是个数字,那么它设置的是bin的个数,也就是沿着x轴划分多少个独立的绘图区域。我们这里有四个图像类别,故需要设置4个绘图区域,每个区域相对于x轴刻度的偏移采取默认设置。
我们想让每个区域的中心和对应x轴刻度对齐,这第一个区域的区间为[-0.5, 0.5),第二个区域的区间为[0.5, 1.5),依次类推。则最终的bins序列为[-0.5, 0.5, 1.5, 2.5, 3.5]。于是,我们将hist函数修改如下:

plt.hist([train_labels[idc]for idc in client_idcs], stacked=False, bins=np.arange(-0.5, 4, 1),label=["Client {}".format(i) for i in range(N_CLIENTS)])

这样子就会达到效果

stacked参数

stacked=True

仅仅这一个参数,柱状图就摞起来了。

plt.hist([train_labels[idc] for idc in client_idcs], stacked=True, bins=num_cli,label=["Client {}".format(i) for i in range(N_CLIENTS)])

rwidth参数

rwidth=0.5

rwidth用于设置每个bin中的bar相对bin的大小。这里我们不妨修改为0.5:

plt.hist([train_labels[idc] for idc in client_idcs], stacked=True, bins=num_cli, rwidth=0.5, label=["Client {}".format(i) for i in range(N_CLIENTS)])


可以看到每个x轴元素内的bar正好占对应bin的宽度的二分之一

python中hist的用法总结相关推荐

  1. 五分钟理解yield在python中的简单用法,让你不再迷惑

    很多同学无论是在学习python还是使用python的过程中,都会遇到yield关键字,这个让人头大的问题,今天,就给大家分享一下我自学yield的心路历程 基本概念: (1)在 Python 中,使 ...

  2. format函数python的顺序_[转载] Python中format函数用法

    Python中format函数用法 format优点 format是python2.6新增的格式化字符串的方法,相对于老版的%格式方法,它有很多优点. 1.不需要理会数据类型的问题,在%方法中%s只能 ...

  3. python代码大全表解释-python中的字典用法大全的代码

    如下代码是关于python中的字典用法大全的代码. #!/usr/bin/env python # # [SNIPPET_NAME: Dictionaries 101] # [SNIPPET_CATE ...

  4. python教程实例-Python中函数的用法实例教程

    本文以数值计算为例讲述了Python中函数的用法,分享给大家供大家参考借鉴之用.具体如下: 我们都知道圆的面积计算公式为: S = πr2 当我们知道半径r的值时,就可以根据公式计算出面积.假设我们需 ...

  5. 详解python中的用法_详解python中*号的用法

    1.表示乘号 2.表示倍数,例如: def T(msg,time=1): print((msg+' ')*time) T('hi',3) 打印结果(打印3次): hi hi hi 3.单个 * (1) ...

  6. python中 str.strip()用法

    python中 str.strip()用法 1.描述 str.strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列. (即可以去除特殊字符串) 注意:该方法只能删除开头或是 ...

  7. Python中的del用法

    python中的del用法比较特殊,新手学习往往产生误解,弄清del的用法,可以帮助深入理解python的内存方面的问题. python的del不同于C的free和C++的delete. 由于pyth ...

  8. python中的super用法详解_【Python】【类】super用法详解

    一.问题的发现与提出 在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1: 代码段1: class A: def __init__(sel ...

  9. python中argv的用法

    python中argv的用法 sys.argv可以用来获取命令行参数,其中sys.argv[0]为脚本名,即python文件名,列表中的其他值为传入的参数值,一般定义方式为 script, arg1, ...

  10. python中max函数用法_Python中max函数用法实例分析

    Python中max函数用法实例分析 更新时间:2015年07月17日 15:45:09 作者:优雅先生 这篇文章主要介绍了Python中max函数用法,实例分析了Python中max函数的功能与使用 ...

最新文章

  1. ORACLE ERP 的前世今生(5)
  2. poj 3481 平衡树
  3. H5开发开发利器——flex
  4. C语言求数组中的最大值
  5. Matlab----获取一个文件夹下所有文件名
  6. win10更新不动_win10沙盒功能和其他同类程序的区别
  7. 吴恩达机器学习练习4:神经网络学习(损失函数和正则化)
  8. Python获取随机字母
  9. 活动报名 | 2017无人驾驶智能车Hackathon挑战赛
  10. Android 得到函数耗时多少的方法
  11. 关于H264相关的EBSP,RBSP,SODP的说明
  12. Modern Radar for Automotive Applications(用于汽车应用的现代雷达)
  13. RTCP 协议的 NACK 报文
  14. Windows窗体之ShowWindow函数分析
  15. 如何下载网页中的视频?
  16. 讯飞语音报错:未经授权的语音应用.(错误码:11210)
  17. 常用ES6语法归纳总结!
  18. 我会java什么梗_抖音不会真的有人什么梗 不会真的有人不会吧不会吧别恶心我梗意思及出处...
  19. 电容笔和触控笔有什么区别?好用不贵主动电容笔推荐
  20. Maximum Likelihood (MLE) Maximum a posteriori (MAP)的分別

热门文章

  1. 视频或动画丢帧_概念介绍和解决策略
  2. php圆周长怎么求,圆的周长怎么求 公式是什么
  3. Python 基于语法提取音节个数的方法(可能不完美,欢迎指教)
  4. 百度长期不收录网站怎么办?9个方法解决不收录
  5. 【win11】你不能不会的技巧(持续更新)
  6. 编译时内核栈溢出:the frame size of 1928 bytes is larger than 1024 bytes
  7. 报错信息为:value larger than specified precision allowed for this column
  8. (转帖) cglib和jdk的区别
  9. unity中实现火焰的效果
  10. redis SDS介绍