横向柱状图

匿名 (未验证) 提交于 2019-12-03 00:15:02

This example showcases a simple horizontal bar chart

import matplotlib.pyplot as plt import numpy as np  # Fixing random state for reproducibility np.random.seed(19680801)   plt.rcdefaults() fig, ax = plt.subplots()  # Example data people = ('Tom', 'Dick', 'Harry', 'Slim', 'Jim') y_pos = np.arange(len(people)) performance = 3 + 10 * np.random.rand(len(people)) error = np.random.rand(len(people))  ax.barh(y_pos, performance, xerr=error, align='center') ax.set_yticks(y_pos) ax.set_yticklabels(people) ax.invert_yaxis()  # labels read top-to-bottom ax.set_xlabel('Performance') ax.set_title('How fast do you want to go today?')  plt.show()


np.random.seed()

使用seed(value)之后调用np.random.randn()np.random.rand()可以产生固定的随机值

# 使用seed设置随机种子 np.random.seed(19680801) print(np.random.randn(2,5), end='\n\n')  # 不设置随机种子 print(np.random.randn(2,5), end='\n\n')  # 设置相同的随机种子 np.random.seed(19680801) print(np.random.randn(2,5))
[[ 1.04930431  0.86609917  0.5511346   1.72807779 -0.64928812]  [-0.47841958  1.07788511  0.96881033 -0.80934479 -1.2373891 ]]  [[ 1.86011654 -0.30831924  0.78297055  0.02152345  0.71566379]  [ 1.40146651 -1.12750212  1.65581822  1.40096148  0.20199007]]  [[ 1.04930431  0.86609917  0.5511346   1.72807779 -0.64928812]  [-0.47841958  1.07788511  0.96881033 -0.80934479 -1.2373891 ]]

plt.rcdefaults()

  • matplotlib配置信息是从配置文件中读取的。在配置文件中可以为matplotlib几乎所有的属性指定永久有效的默认值
  • 查看配置:你可以通过 matplotlib.rcParams字典访问所有已经加载的配置项
  • 可以通过 matplotlib.rcParams字典修改所有已经加载的配置项
  • 可以通过matplotlib.rc(*args,**kwargs)来修改配置项,其中args是你要修改的属性,kwargs是属性的关键字属性
  • 可以调用matplotlib.rcdefaults()将所有配置重置为标准设置
import matplotlib print(matplotlib.rcParams['animation.embed_limit'])  matplotlib.rcParams['animation.embed_limit'] = 10 print(matplotlib.rcParams['animation.embed_limit'])  matplotlib.rc('animation', embed_limit=15) print(matplotlib.rcParams['animation.embed_limit'])  matplotlib.rcdefaults() print(matplotlib.rcParams['animation.embed_limit'])
20.0 10.0 15.0 20.0

pyplot.barh()

  • barh(y, width, height=0.8, left=None, *, align='center', **kwargs)
Parameters Meaning
y(标量或向量) 每个bar的y坐标
width(标量或向量) 每个bar的宽度
height 每个bar的高度
left(向量) bar左侧基坐标
align 可以是'center'或'edge',表示bar和y轴ticks之间的位置关系
# Fixing random state for reproducibility np.random.seed(19680801)  # plt.rcdefaults() fig, ax = plt.subplots()  # Example data people = ('Tom', 'Dick', 'Harry', 'Slim', 'Jim') y_pos = np.arange(len(people)) performance = 3 + 10 * np.random.rand(len(people)) error = np.random.rand(len(people))  #使用height和left控制bar的宽度和左侧坐标,color设置bar的颜色,align设置bar和ytick的对齐方式 ax.barh(y_pos, performance, [0.5, 0.8, 0.3, 0.6, 0.2], [2, 3, 5, 4, 1],          xerr=error, align='edge', color="#84D096") ax.set_yticks(y_pos) ax.set_yticklabels(people) ax.invert_yaxis()  # labels read top-to-bottom ax.set_xlabel('Performance') ax.set_title('How fast do you want to go today?')  plt.show()

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!