尝试从以下数据创建饼图和条形图

Posted

技术标签:

【中文标题】尝试从以下数据创建饼图和条形图【英文标题】:Trying to create a pie and bar chart from the data below 【发布时间】:2017-04-13 22:18:45 【问题描述】:

我们正在尝试根据以下代码创建饼图和条形图。任何人都可以帮忙吗?我们做错了什么?

我们将不胜感激提供的任何帮助。谢谢。

browser = ('IE': [0.21], 'Chrome': [0.51], 'Firefox': [0.18], 'Safari': [0.06], 'Others': [0.04])
x = pd.Series(browser)
y = pd.Series.sort_values(x)
z = pd.DataFrame(y)
fig, axes = plt.subplots(nrows=1, ncols=2)
z.plot(kind = 'pie', ax = axes[0,0])
z.plot(kind = 'bar', ax - axes[0,1])

【问题讨论】:

【参考方案1】:

您的代码中有几个错误。有关如何绘制饼图,请参阅下面的注释代码。

import pandas as pd
import matplotlib.pyplot as plt

# dont put the dictionary into a tuple
browser = 'IE': [0.21], 'Chrome': [0.51], 'Firefox': [0.18], 'Safari': [0.06], 'Others': [0.04]
# dont use values inside a list as column values for a dataframe
browser2 = 
[browser2.update(key : val[0]) for key, val in browser.iteritems()]

x = pd.Series(browser2)
y = pd.Series.sort_values(x)
z = pd.DataFrame(y)
print z
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(8,4))
# you need to specify which column of the dataframe you want to plot (here 0)
z.plot(y=0, kind = 'pie', ax = axes[0])
z.plot(kind = 'bar', ax = axes[1])
axes[0].set_aspect("equal") # make aspect equal (such that circle is not eliptic)
#place the legend at a decent position
axes[0].legend(loc=1, bbox_to_anchor= (1,0.2), fontsize=11)
plt.tight_layout()
plt.show()

【讨论】:

以上是关于尝试从以下数据创建饼图和条形图的主要内容,如果未能解决你的问题,请参考以下文章

对饼图和条形图 Pandas 使用子图 [重复]

如何绘制条形图和饼图 iPhone sdk?

渐进式<;svg>;饼图、甜甜圈图、条形图和折线图

如何使用dojo在每个条形图或饼图上执行Click事件

R-基本图形-ch6

Python制作带有辅助y轴的组合条形图和线图