小编gca*_*tes的帖子

Matplotlib:将右轴的原点与特定的左轴值对齐

当Matplotlib绘制几个Y轴,有没有指定如何对齐原点的右轴的(和/或一些ytick标签)与左轴的特定值的方式?

这是我的问题:我想绘制两组数据以及它们的区别(基本上,我试图重现这种图形).

我可以重现它,但我必须手动调整右轴的ylim,以便原点与我想要的左轴对齐.

我在下面简要介绍了我使用的代码的简化版本.如您所见,我必须手动调整右轴的比例以对齐右轴的原点以及方形.

import numpy as np
import scipy as sp
import matplotlib.pyplot as plt

grp1 = np.array([1.202, 1.477, 1.223, 1.284, 1.701, 1.724, 1.099,
                1.242, 1.099, 1.217, 1.291, 1.305, 1.333, 1.246])
grp2 = np.array([1.802, 2.399, 2.559, 2.286, 2.460, 2.511, 2.296,
                1.975])

fig = plt.figure(figsize=(6, 6))
ax = fig.add_axes([0.17, 0.13, 0.6, 0.7])

# remove top and right spines and turn ticks off if no spine
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.spines['bottom'].set_color('none')
ax.xaxis.set_ticks_position('none')
ax.yaxis.set_ticks_position('left')
# postition of tick out
ax.tick_params(axis='both', direction='out', width=3, …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib scipy

4
推荐指数
1
解决办法
4894
查看次数

倒置花式索引

使用花式索引具有该阵列的数组和掩码,很容易仅选择与掩码对应的数组的数据.

import numpy as np

a = np.arange(20).reshape(4, 5)
mask = [0, 2]
data = a[:, mask]
Run Code Online (Sandbox Code Playgroud)

但是有没有快速的方法来选择不属于掩码的阵列的所有数据(即掩码是我们要拒绝的数据)?我试图找到一个通过中间布尔数组的通用解决方案,但我确信有一些东西真的很容易.

mask2 = np.ones(a.shape)==1
mask2[:, mask]=False
data = a[mask2].reshape(a.shape[0], a.shape[1]-size(mask))
Run Code Online (Sandbox Code Playgroud)

谢谢

python numpy scipy

4
推荐指数
1
解决办法
1844
查看次数

标签 统计

numpy ×2

python ×2

scipy ×2

matplotlib ×1