我需要将seaborn heatmap的最大值设置cbar为2.我尝试过:
cbar_kws = { 'ticks' : [0, 2] }
sns.heatmap(tiles, robust=True, fmt="f", cmap= 'RdBu_r', cbar_kws = cbar_kws)
Run Code Online (Sandbox Code Playgroud)
但这不起作用,文档也不是很清楚.我该怎么做呢?
我有一个交互式绘图的示例(来自 matplotlib),我可以从系列中选择要在绘图上显示的行。这工作完美,但现在我想将其导出为 html。我可以成功地做到这一点,mpld3.save_html()但失去了系列选择的交互性。这是代码
import numpy as np
import matplotlib.pyplot as plt, mpld3
from matplotlib.widgets import CheckButtons
t = np.arange(0.0, 2.0, 0.01)
s0 = np.sin(2*np.pi*t)
s1 = np.sin(4*np.pi*t)
s2 = np.sin(6*np.pi*t)
fig, ax = plt.subplots()
l0, = ax.plot(t, s0, visible=False, lw=2)
l1, = ax.plot(t, s1, lw=2)
l2, = ax.plot(t, s2, lw=2)
plt.subplots_adjust(left=0.2)
rax = plt.axes([0.05, 0.4, 0.1, 0.15])
check = CheckButtons(rax, ('2 Hz', '4 Hz', '6 Hz'), (False, True, True))
def func(label):
if label == '2 Hz': l0.set_visible(not l0.get_visible()) …Run Code Online (Sandbox Code Playgroud) 以下代码绘制了一个交互式图形,可以在其中切换开/关特定的行。当我在Ipython Notebook中工作时,这完美地工作
import pandas as pd
import numpy as np
from itertools import cycle
import matplotlib.pyplot as plt, mpld3
from matplotlib.widgets import CheckButtons
import matplotlib.patches
import seaborn as sns
%matplotlib nbagg
sns.set(style="whitegrid")
df = pd.DataFrame({'freq': {0: 0.01, 1: 0.02, 2: 0.029999999999999999, 3: 0.040000000000000001, 4: 0.050000000000000003, 5: 0.059999999999999998, 6: 0.070000000000000007, 7: 0.080000000000000002, 8: 0.089999999999999997, 9: 0.10000000000000001, 10: 0.01, 11: 0.02, 12: 0.029999999999999999, 13: 0.040000000000000001, 14: 0.050000000000000003, 15: 0.059999999999999998, 16: 0.070000000000000007, 17: 0.080000000000000002, 18: 0.089999999999999997, 19: 0.10000000000000001, 20: 0.01, 21: 0.02, 22: …Run Code Online (Sandbox Code Playgroud) Seaborns clustermap不适用于plt.tight_layout().
import seaborn as sns
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
np.random.seed(98)
df = pd.DataFrame(np.random.rand(10,10))
cm = sns.clustermap(df)
plt.tight_layout()
plt.show()
Run Code Online (Sandbox Code Playgroud)
出现以下错误ValueError: max() arg is an empty sequence.我也使用sns.heatmap()完全相同的数据集,这没有错误.有工作吗?注意:我使用的实际标签比本例中的标签要长很多,但代码太长而无法显示.谢谢你的帮助!
我有一个相当简单的问题,但有些事情让我难以忍受2天.我需要绘制2个以上的文件.每个文件需要在总共25个图上绘制,但必须绘制在同一组轴上.(即如果我需要2个文件,每个图上需要25个图,每行2行).
我有这个sudo代码生成50个图(每行一行)......这是错误的
with open(bamlist, 'r') as bamlist:
for bam in bamlist: #Opens the 2 files
'Generate data Here'
dataframe = []
for line in data:
line = line.split("\t")
dataframe.append(line[0:4:1])
df = pd.DataFrame(dataframe, columns=['Chromosome', 'Position', 'N', 'BaseCount'])
grouped_df = df.groupby('Chromosome') #groups dataframe into the required 25plots
for df in grouped_df:
density_data = 'Get density data from df'
f, ax = plt.subplots()
sns.kdeplot(density_data, ax=ax, linewidth=1)
pp.savefig()
pp.close()
Run Code Online (Sandbox Code Playgroud)
有没有办法在第二次输入for循环时恢复到初始轴的设置,这样我每个绘图就会得到2行25个点(而不是50个)?
我有一个从pandas数据帧生成的clustermap.其中两列用于生成簇图,我需要使用第三列使用sns.palplot(sns.light_palette('red'))调色板生成col_colors栏(值将为0 - 1,浅 - 深色).
伪代码看起来像这样:
df=pd.DataFrame(input, columns = ['Source', 'amplicon', 'coverage', 'GC'])
tiles = df.pivot("Source", "amplicon", "coverage")
col_colors = [values from df['GC']]
sns.clustermap(tiles, vmin=0, vmax=2, col_colors=col_colors)
Run Code Online (Sandbox Code Playgroud)
我正在努力寻找有关如何设置col_colors的详细信息,以便将正确的值链接到相应的tile.一些方向将不胜感激.