小编And*_*anu的帖子

在matplotlib中绘制网格图案

我想使用python和matplotlib绘制如下图所示的草图.我想制作网格并不是那么难,但是如何以特定的方式着色某些方块?

广场

python matplotlib

6
推荐指数
1
解决办法
5369
查看次数

在Numpy中矢量化特征值计算

我想要一种向量化特征值计算的numpy-sh方式,这样我就可以给它一个矩阵矩阵,它将返回各个特征值的矩阵.

例如,在下面的代码中,B是由3x3矩阵A的4个副本组成的块6x6矩阵.C是我想看到的输出,即维数(2,2,3)的数组(因为A有3个特征值).

这当然是一个非常简化的例子,在一般情况下,矩阵A可以具有任何大小(尽管它们仍然是正方形),并且矩阵B不一定由A 的副本形成,而是不同的A1,A2等(所有相同大小但包含不同的元素).

import numpy as np
A = np.array([[0, 1, 0],
              [0, 2, 0],
              [0, 0, 3]])
B = np.bmat([[A, A], [A,A]])
C = np.array([[np.linalg.eigvals(B[0:3,0:3]),np.linalg.eigvals(B[0:3,3:6])],
              [np.linalg.eigvals(B[3:6,0:3]),np.linalg.eigvals(B[3:6,3:6])]])
Run Code Online (Sandbox Code Playgroud)

python numpy

5
推荐指数
1
解决办法
1845
查看次数

使用matplotlib对3d图的标签操作

我想出了以下代码来生成python + matplotlib中的数字:

fig = plt.figure(figsize=(10,8))
ax = fig.add_subplot(1,1,1, projection='3d')

ax.plot_surface(KX[kxl3d:kxr3d,kxl3d:kxr3d], KY[kxl3d:kxr3d,kxl3d:kxr3d],
                BLP[kxl3d:kxr3d,kxl3d:kxr3d], rstride=8, cstride=8, alpha=0.4)

for idx in range(3):
    ax.plot(kx[x_points]+momentum_spi[idx,0], ky[y_points]+momentum_spi[idx,1],
            energy_spi[idx], linestyle='none', marker='o', 
            markerfacecolor=color_spi[idx], markersize=5)

ax.set_xlim(kl3d, kr3d)
ax.set_ylim(kl3d, kr3d)

ax.set_xlabel(r'$k_x[\mu m^{-1}]$')
ax.set_ylabel(r'$k_y[\mu m^{-1}]$')
ax.set_zlabel(r'$\epsilon-\omega_X[\gamma_p]$')
Run Code Online (Sandbox Code Playgroud)

输出是: 3d_rings

我的问题是,我怎么能

  1. 将z轴标签和刻度标签移动到图的左侧,这样它们就不会被环和盖子覆盖
  2. 增加x和y刻度标签与轴标签之间的间距(注意它们重叠一点,特别是对于y轴).

python plot matplotlib

3
推荐指数
2
解决办法
5755
查看次数

标签 统计

python ×3

matplotlib ×2

numpy ×1

plot ×1