Есть много примеров этого в сети (и я думаю, что даже тот, который полностью проверяет RFC), но это десятки / сотни строк, если память используется). Люди склонны увлекаться проверкой такого рода вещей. Почему бы просто не проверить, что у него есть @ и по крайней мере один. и соответствует некоторой простой минимальной длине. Тривиально вводить поддельное письмо и все равно соответствовать любому действительному регулярному выражению. Я бы предположил, что ложные срабатывания лучше ложных негативов.
Посмотрите эту страницу matplotlib . Там показано, как получить следующий график с четырьмя отдельными цветными панелями для каждого подзаголовка: [/g2]
Надеюсь, это поможет. Вы также можете посмотреть здесь , где вы можете найти много того, что вы можете сделать с matplotlib
.
В plt.colorbar(z1_plot,cax=ax1)
используйте ax=
вместо cax=
, то есть plt.colorbar(z1_plot,ax=ax1)
Это можно легко решить с помощью утилиты make_axes_locatable
. Я предоставляю минимальный пример, который показывает, как это работает и должно быть легко адаптируемым:
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
import numpy as np
m1 = np.random.rand(3, 3)
m2 = np.arange(0, 3*3, 1).reshape((3, 3))
fig = plt.figure(figsize=(16, 12))
ax1 = fig.add_subplot(121)
im1 = ax1.imshow(m1, interpolation='None')
divider = make_axes_locatable(ax1)
cax = divider.append_axes('right', size='5%', pad=0.05)
fig.colorbar(im1, cax=cax, orientation='vertical')
ax2 = fig.add_subplot(122)
im2 = ax2.imshow(m2, interpolation='None')
divider = make_axes_locatable(ax2)
cax = divider.append_axes('right', size='5%', pad=0.05)
fig.colorbar(im2, cax=cax, orientation='vertical');