【问题标题】:Need help for py-upset?py-upset 需要帮助吗?
【发布时间】:2018-05-04 14:45:31
【问题描述】:

我想使用 Python 而不是 JavaScript 来绘制 UpSet 图并在 github 上找到 py-upset:https://github.com/ImSoErgodic/py-upset/ 我使用 PyCharm 作为 IDE 并下载了所有需求。

我试过下面的代码;

import pyupset as pyu
from pickle import load
with open('./test_data_dict.pckl', 'rb') as f:
    data_dict = load(f)
    pyu.plot(data_dict)

运行代码后,它显示“进程以退出代码 0 完成”,但没有给出图形/图表。我怎样才能得到图表?有什么帮助吗?

【问题讨论】:

  • 您运行它的文件夹中有test_data_dict.pckl 文件吗?
  • 是的,我有。这是 ide 的截图; imgur.com/a/ORhMq

标签: python python-3.x pandas matplotlib plot


【解决方案1】:

在脚本顶部键入“% matplotlib inline”。 参考:Purpose of "%matplotlib inline"

【讨论】:

    【解决方案2】:

    所以这可能无法解决您的问题,但我遇到了类似的问题(原因我尚未研究,但这似乎是一个常见问题)。

    情节已创建但未显示。所以要解决这个问题,你需要告诉 matplotlib.pyplot 来显示图表。

    通过在 plt 函数中包含 import 语句来实现这一点(来自 matplotlib.pyplot 库)-

    import matplotlib.pyplot as plt
    

    现在在您的代码和这一行的末尾 -

    plt.show(pyu)
    

    希望这会有所帮助!

    【讨论】:

      【解决方案3】:

      编辑: 刚刚意识到您正在使用命令行。 MatPlotLib 默认渲染到一个窗口并且不保存到文件中。看 Save plot to image file instead of displaying it using Matplotlib。 (我在下面添加了。)


      我找到了另一个包,UpSetPlot,它仍在维护中,并且有更易于理解的文档。这是一个简短的示例(请注意,我实际上并不知道任何作者或他们的披萨偏好):

      import matplotlib.pyplot
      import pandas
      import upsetplot
      
      pizzas = pandas.DataFrame([
          dict(who="Lex", mushroom=True, pineapple=True),
          dict(who="Gehlenborg", mushroom=True),
          dict(who="Strobelt", pineapple=True),
          dict(who="Vuillemot", ),  # cheese!
          dict(who="Pfister", mushroom=True, pineapple=True), 
          dict(who="Nothman", mushroom=True), 
          dict(who="me", mushroom=True, pineapple=True), 
      ])
      
      toppings = [c for c in pizzas.columns if c != "who"]
      toppings_count_series = pizzas.fillna(False).groupby(toppings).count()["who"]
      
      upsetplot.plot(toppings_count_series, sort_by="cardinality")
      current_figure = matplotlib.pyplot.gcf()
      current_figure.savefig("pizza_toppings.png")
      

      【讨论】:

      • 他特意求助 pyupset 而不是心烦意乱?
      猜你喜欢
      • 1970-01-01
      • 2022-11-01
      • 2020-07-09
      • 2016-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      • 2017-10-05
      相关资源
      最近更新 更多