Я хочу построить тепловую карту с центром вокруг значения 1, показывающую экспрессию генов, соответствующих клеточным линиям, используя этот код:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import TwoSlopeNorm
import seaborn as sns
data = pd.read_csv(r"C:\Users\Hbeen\Desktop\aGPCR Pancreas.csv", header=1, index_col=0)
fig, ax = plt.subplots()
rdgn = sns.diverging_palette(h_neg=130, h_pos=10, s=99, l=55, sep=3, as_cmap=True)
divnorm = TwoSlopeNorm (vmin=data.min(), vcenter=1.00, vmax=data.max())
sns.heatmap(data, cmap='coolwarm', norm=divnorm, fmt ='.0%',
linewidths=0.5, linecolor='black', cbar=True, ax=ax)
plt.title("Expression von AGPCRs in Pankreas Zelllinien")
plt.xlabel("Gene")
plt.ylabel("Zelllinien")
plt.xticks(rotation=90, fontsize=6)
plt.yticks(fontsize=6)
plt.show()
Каждый раз, когда я запускаю его, он выдает ошибку ValueError, которую я не знаю, как исправить, поскольку я совершенно новичок в программировании. Поскольку я понятия не имею, почему появляется эта ошибка, я даже не знаю, как ее исправить. Я пытался найти ответы на этом сайте, но ни один из них не включал панд в задачу, поэтому они мне не очень помогли.
runfile('C:/Users/Hbeen/Desktop/unbenannt0.py', wdir='C:/Users/Hbeen/Desktop')
Traceback (most recent call last):
File ~\anaconda3\Lib\site-packages\spyder_kernels\py3compat.py:356 in compat_exec
exec(code, globals, locals)
File c:\users\hbeen\desktop\unbenannt0.py:17
divnorm = TwoSlopeNorm (vmin=data.min(), vcenter=1.00, vmax=data.max())
File ~\anaconda3\Lib\site-packages\matplotlib\colors.py:1493 in __init__
super().__init__(vmin=vmin, vmax=vmax)
File ~\anaconda3\Lib\site-packages\matplotlib\colors.py:1279 in __init__
self._vmin = _sanitize_extrema(vmin)
File ~\anaconda3\Lib\site-packages\matplotlib\colors.py:208 in _sanitize_extrema
ret = ex.item()
File ~\anaconda3\Lib\site-packages\pandas\core\base.py:418 in item
raise ValueError("can only convert an array of size 1 to a Python scalar")
ValueError: can only convert an array of size 1 to a Python scalar
Это ошибка, которую я получаю, видимо, это происходит при попытке запуска
TwoSlopeNorm (vmin=data.min(), vcenter=1.00, vmx=data.max()
Подробнее здесь: https://stackoverflow.com/questions/792 ... hon-scalar
Ошибка значения может преобразовать только массив размера 1 в скаляр Python. ⇐ Python
Программы на Python
1733421251
Anonymous
Я хочу построить тепловую карту с центром вокруг значения 1, показывающую экспрессию генов, соответствующих клеточным линиям, используя этот код:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import TwoSlopeNorm
import seaborn as sns
data = pd.read_csv(r"C:\Users\Hbeen\Desktop\aGPCR Pancreas.csv", header=1, index_col=0)
fig, ax = plt.subplots()
rdgn = sns.diverging_palette(h_neg=130, h_pos=10, s=99, l=55, sep=3, as_cmap=True)
divnorm = TwoSlopeNorm (vmin=data.min(), vcenter=1.00, vmax=data.max())
sns.heatmap(data, cmap='coolwarm', norm=divnorm, fmt ='.0%',
linewidths=0.5, linecolor='black', cbar=True, ax=ax)
plt.title("Expression von AGPCRs in Pankreas Zelllinien")
plt.xlabel("Gene")
plt.ylabel("Zelllinien")
plt.xticks(rotation=90, fontsize=6)
plt.yticks(fontsize=6)
plt.show()
Каждый раз, когда я запускаю его, он выдает ошибку ValueError, которую я не знаю, как исправить, поскольку я совершенно новичок в программировании. Поскольку я понятия не имею, почему появляется эта ошибка, я даже не знаю, как ее исправить. Я пытался найти ответы на этом сайте, но ни один из них не включал панд в задачу, поэтому они мне не очень помогли.
runfile('C:/Users/Hbeen/Desktop/unbenannt0.py', wdir='C:/Users/Hbeen/Desktop')
Traceback (most recent call last):
File ~\anaconda3\Lib\site-packages\spyder_kernels\py3compat.py:356 in compat_exec
exec(code, globals, locals)
File c:\users\hbeen\desktop\unbenannt0.py:17
divnorm = TwoSlopeNorm (vmin=data.min(), vcenter=1.00, vmax=data.max())
File ~\anaconda3\Lib\site-packages\matplotlib\colors.py:1493 in __init__
super().__init__(vmin=vmin, vmax=vmax)
File ~\anaconda3\Lib\site-packages\matplotlib\colors.py:1279 in __init__
self._vmin = _sanitize_extrema(vmin)
File ~\anaconda3\Lib\site-packages\matplotlib\colors.py:208 in _sanitize_extrema
ret = ex.item()
File ~\anaconda3\Lib\site-packages\pandas\core\base.py:418 in item
raise ValueError("can only convert an array of size 1 to a Python scalar")
ValueError: can only convert an array of size 1 to a Python scalar
Это ошибка, которую я получаю, видимо, это происходит при попытке запуска
TwoSlopeNorm (vmin=data.min(), vcenter=1.00, vmx=data.max()
Подробнее здесь: [url]https://stackoverflow.com/questions/79255749/value-error-can-only-convert-an-array-of-size-1-to-a-python-scalar[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия