【问题标题】:Generate Pie Chart with Python with already existing data from Excel without overwriting the Excel file在不覆盖 Excel 文件的情况下,使用 Python 中已有的 Excel 数据生成饼图
【发布时间】:2020-04-27 13:35:50
【问题描述】:

我是 Pandas 和数据框以及所有这些方面的新手,我一直在尝试使用 Excel 文件中已有的数据生成一些图表(确切地说是饼图)。

我有一个包含大量数据的工作表。从该工作表中,我使用 openpyxl 生成一个新工作表,在其中添加一些公式以返回一些如下所示的值:

https://i.stack.imgur.com/ojM2R.png

这里也有内容:

+----------------------------------------------------+
| User  |  Total  | Open  | Closed | Fixed |Rejected |
+----------------------------------------------------+
| James    23        7       16        7       12    |
| Michael  2         1       1         1       0     |
| Andreas  11        7       4         3       3     |
| Betty    6         2       4         1       3     |
+----------------------------------------------------+

我现在要做的是生成一个包含用户和其他每一列的饼图(一个饼图用户 X 总票数,一个饼图包含用户 X 打开票数等等)

我已经尝试过 xlsxwritter,但它会覆盖我的整个文档并且无法使其正常工作。 所有不会覆盖我的文档的 openpyxl 示例都包含随机生成的数据,而不是来自 Excel 文件的现有数据,我不知道如何用我想做的事情来实现这些方法。

你能帮我理解我应该做什么以及应该怎么做吗?

我还想知道这是否是一种生成饼图的方法,例如公式。类似的东西

(=PIECHART(Sheet!B1:B5,Sheet!C1:C5)).

非常感谢, 干杯, 阿林

【问题讨论】:

  • 你能把工作表的内容直接放在你的问题中吗?外部链接可能会消失,这会让以后阅读本文的人难以理解。
  • @PirateNinjas 我不知道如何插入表格,但我已尝试使其尽可能可读。

标签: python excel pandas pie-chart


【解决方案1】:

IIUC,

df.set_index('User').T.plot.pie(subplots=True, figsize=(15,10), layout=(2,2))
plt.tight_layout()

输出:

更新:

df.set_index('User').plot.pie(subplots=True, figsize=(15,10), layout=(2,3))
plt.tight_layout()

【讨论】:

  • 你好斯科特。谢谢回答。这并不完全是我需要的,但我会尝试将其更改为我需要的。我需要为票 x 用户的每个状态绘制图。开放票的图表,将显示每个用户有多少开放票。还想知道是否可以生成 Excel 图表以保存在包含表格的工作表的某个位置。
猜你喜欢
  • 1970-01-01
  • 2013-12-11
  • 1970-01-01
  • 1970-01-01
  • 2020-05-24
相关资源
最近更新 更多