【问题标题】:iPython Notebook quits displaying bar chartiPython Notebook 退出显示条形图
【发布时间】:2015-08-02 02:03:07
【问题描述】:

我有一个 Python 脚本,我想用它来学习 iPython Notebook,但在文本中显示图表时遇到了问题。

这是我正在使用的部分代码。

#import baseline and iteration files
df_final = pd.read_csv(os.path.join(CSV_dir, 'mean_prop_iter.csv'))
baseline = pd.read_csv(os.path.join(CSV_dir, 'mean_prop_base.csv'))

## create base figure
fig = plt.figure()
ax1 = fig.add_subplot(111)

## create histogram
df_final['iter_prop_in'].hist(bins=[0.5, 0.51, 0.52, 0.53, 0.54,
                                    0.55, 0.56, 0.57, 0.58, 0.59, 0.60],
                              rwidth=1.0, align='mid', facecolor='red')

此时一切看起来都很好。

我随后的命令不是我所期望的。

## define x-axis limits
label_range = np.arange(0.0, 1.1, 0.1)
labels      = ax1.set_xticks(label_range)

## turn off ticks along the top and right axes
plt.tick_params(axis='both', top='off', right='off', direction='out')

这里正确显示了新的 x 轴范围,但未显示直方图。 y 轴刻度限制也变为 0 到 1,这是我没想到的。

如果我在 Python 2.7 (Anaconda Spyder) 中运行相同的命令,直方图将按预期显示。

我做错了什么?

【问题讨论】:

    标签: matplotlib graph ipython-notebook


    【解决方案1】:

    这是因为您是在笔记本中的单独单元格中执行此操作的。您应该将与同一图形有关的绘图命令分组到一个单元格中。

    就您的代码当前而言,Notebook 认为您指的是一个新人物。


    不相关的提示:您可能会考虑使用; 为与绘图相关的命令添加后缀,这表示返回值输出抑制。忽略这一点往往会在单元格输出中打印出大量乱码。

    【讨论】:

    • 那个不相关的提示对我很有帮助!几个月来一直想知道我是否可以摆脱这些胡言乱语,但这并没有让我感到困扰。这是另一个不相关的提示:使用 import numpy as np; bins=np.linspace(0,1,11) 而不是列表生成 bin(它会在 0 和 1 之间创建一个等距的间隔,包含 11 个值,包括 0 和 1)。
    猜你喜欢
    • 2016-07-20
    • 2016-10-18
    • 2014-07-23
    • 2022-12-03
    • 1970-01-01
    • 2012-11-18
    • 2015-05-06
    • 1970-01-01
    • 2017-05-28
    相关资源
    最近更新 更多