【发布时间】:2017-08-09 05:15:58
【问题描述】:
当我每次运行这段代码时,显然 python 内核都死了并且死了,我成功地运行了代码: 是代码有问题还是问题更深?我可以毫无问题地运行其他笔记本。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
plt.rcParams['text.usetex'] = False
df = pd.DataFrame(np.random.uniform(size=37)*100, columns=['A'])
ax = plt.figure(figsize=(10,5))
plt.barh(df.index, df['A'], color='ForestGreen')
plt.yticks(df.index)
def annotateBars(row, ax=ax):
if row['A'] < 20:
color = 'black'
horalign = 'right'
horpad = 2
else:
color = 'white'
horalign = 'right'
horpad = -2
ax.text(row.name, row['A'] + horpad, "{:.1f}%".format(row['A']),
color=color,
horizontalalignment=horalign,
verticalalignment='center',
fontsize=10)
junk = df.apply(annotateBars, ax=ax, axis=1)
【问题讨论】:
-
您是否收到任何错误信息?如果您使用任务管理器运行该进程,您的计算机处理该进程是否正常?
-
运行代码时遇到同样的问题,内核死了……奇怪。但是,在开始定义函数并在绘制之前分配垃圾变量时,一切运行良好。
-
@schlump 这非常奇怪,我能够运行这段代码,因为它现在在底部有垃圾。我记得我改变的最后一件事是 plt.barh() 行但不确定是什么(内核死后无法恢复)。
-
好吧..似乎是绘图的问题...在 plt.yticks() 之后添加 plt.show() 时,一切也运行良好...似乎内核并不是真的喜欢在情节仍然“开放”时运行代码
-
好吧,我照你说的做了,它不再死了,但是,哇,现在的结果太糟糕了。剧情前有巨大的空白,我做错了什么
标签: python pandas matplotlib kernel anaconda