Как получить строковые имена переменных в python и несколько трюков с matplotlibe

Теги:

Как получить строкове имя переменной в python

ссылка на обсуждение

Вернуть строкове имя конкретной переменной не получится. так как на один и тот же объект может ссылаться несколько переменных. Но можно вернуть все переменные для конкретного объета. В данном примере две разные переменные ссылаются на два разных объекта (которые под капотом python на самом деле один объект):

import inspect

x = 1
y = 1

def retrieve_name(var):
    callers_local_vars = inspect.currentframe().f_back.f_locals.items()
    return [var_name for var_name, var_val in callers_local_vars if var_val is var]

print(retrieve_name(y))

['x', 'y']

Как получить строкове значение имени функции в python

Обсуждение тут

__name__ работает с build in функциями. func_name нет

>>> import time
>>> time.time.func_name
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
AttributeError: 'builtin_function_or_method' object has no attribute 'func_name'
>>> time.time.__name__
'time'

Как удалить линии сетки в [matplotlibe]

Ссылка на обсуждение

так

plt.grid(None)

в ряде случаев, если создана сетка, может потребоваться проитерирвоать

for i in range(4):
    for j in range(3):
        axs[i, j].grid(None)

или так

%matplotlib inline
from matplotlib import pyplot as plt
plt.rcParams["axes.grid"] = False

Как задать размеры изображения для subplots в matplotlib

вот так, например:

fig, axs = plt.subplots(nrows=3, ncols=3)
fig.set_figheight(25)
fig.set_figwidth(25)

Статья на эту тему

Читай еще тут: [matplotlib-size]

Как создать анотированную матрицу в matplotlib

Вот подробный гайд на эту тему. Если совсем лень, можно использовать seaborn.heatmap