python100天 64 stem函数制作茎图或者棒棒图

茎趺图的效果如下:

棉棒图主要用来显示一个包含正负的数据集,如在地震勘探中表示地层间反射系数

stem函数的定义如下

语法:stem([x, ] y, linefmt=None, markerfmt=None, basefmt=None)

返回:

容器:StemContainer

可以将容器视为元组(标记线、主干线、基线)

最简单的例子

import matplotlib.pyplot as plt
import numpy as np

plt.style.use('_mpl-gallery')

# make data
np.random.seed(3)
x = 0.5 + np.arange(8)
y = np.random.uniform(2, 7, len(x))

# plot
fig, ax = plt.subplots()

ax.stem(x, y)

ax.set(xlim=(0, 8), xticks=np.arange(1, 8),
       ylim=(0, 8), yticks=np.arange(1, 8))

plt.show()


运行的效果图如下,为什么叫茎叶呢,看这些线科的样式其实就是类似一个个植物 的生长曲线。



代码讲解

import matplotlib.pyplot as plt
import numpy as np

import的意思是从其他的功能模块中引用自己需要的功能模块 as的目的是给这个模块取一个别名。

np.random.seed(n)函数用于生成指定随机数。


每次生成不同的随机数 np.random.rando()函数

L1 = np.random.randn(3, 3)   生成一个3行3列的二维数组


生成相同的随机数据,只需要把上面的代码改造一下,

每次调用seed然后再调用 random函数就生成相同的随机数据

import numpy as np

np.random.seed(1)
L1 = np.random.randn(3, 3)
np.random.seed(1)
L2 = np.random.randn(3, 3)
print(L1)
print(L2)



函数: numpy.random.uniform(low,high,size)

从一个均匀分布[low,high)中随机采样,注意定义域是左闭右开,即包含low,不包含high.


x = 0.5 + np.arange(8)
y = np.random.uniform(2, 7, len(x))

实际上y值的个数与x个数相同 len(x) xx 这个数组的数组

最后画茎图(棒棒图)就比较 笑意了

ax.stem(x, y)
ax.set(xlim=(0, 8), xticks=np.arange(1, 8),
ylim=(0, 8), yticks=np.arange(1, 8))

传入x,y这两个数组就生成了相应 的效果,y的本质 是图的hieght

展开阅读全文

页面更新:2024-03-30

标签:词干   函数   基线   随机数   虚线   数组   字符串   样式   定义   颜色

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top