【问题标题】:Matplotlib package is installed, and the code is not workingMatplotlib 包已安装,但代码不工作
【发布时间】:2020-05-12 16:02:59
【问题描述】:

代码不工作,但在网站“repl.it”它工作!, 什么都没有发生, fig.show() 应该打印一个图表。

import matplotlib.pyplot as plt

seq_human = {'AA': 116, 'AT': 95, 'AC': 97, 'AG': 113, 'TA': 85, 'TT': 113, 'TC': 109, 'TG': 111, 'CA': 87, 'CT': 105, 'CC': 184, 'CG': 170, 'GA': 134, 'GT': 105, 'GC': 155, 'GG': 184}
seq_bacteria = {'AA': 105, 'AT': 64, 'AC': 86, 'AG': 111, 'TA': 64, 'TT': 57, 'TC': 60, 'TG': 108, 'CA': 83, 'CT': 75, 'CC': 74, 'CG': 97, 'GA': 113, 'GT': 93, 'GC': 109, 'GG': 147}


fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(16, 5))

ax1.bar(seq_human.keys(), seq_human.values(), width=0.4, align='edge', label='Human: 18S rRNA gene')
ax1.bar(seq_bacteria.keys(), seq_bacteria.values(), width=-0.4, align='edge', label='Bacteria: Escherichia coli 16S ribosomal')
ax1.set_ylabel('Frequency')
ax1.set_xlabel('Nitrogenous Bases')
ax1.legend()
fig.show()

【问题讨论】:

  • 给我们错误信息等。另外让你的代码可重现。
  • 现在你可以重现代码了,没有错误信息了。
  • 那“不工作”是什么意思?
  • 什么都没有发生,fig.show() 应该打印一个图表。
  • plt.show()... 虽然您的第二个子图将是空的,因为您只在ax1 中绘制了数据。

标签: python matplotlib


【解决方案1】:

来自fig.show的文档字符串

警告:

这不管理 GUI 事件循环。因此,该图 如果您或您的 环境没有管理事件循环。

.Figure.show 的正确用例包括从 GUI 应用程序或 IPython shell。

如果您正在运行纯 python shell 或执行非 GUI python脚本,你应该改用matplotlib.pyplot.show, 它负责为您管理事件循环。

重点是我的……

【讨论】:

    猜你喜欢
    • 2022-01-02
    • 2011-12-02
    • 2021-09-26
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 2011-12-18
    • 2017-10-05
    相关资源
    最近更新 更多