Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 正在尝试从下面的数据创建饼图和条形图_Python 2.7_Pandas_Matplotlib_Seaborn - Fatal编程技术网

Python 2.7 正在尝试从下面的数据创建饼图和条形图

Python 2.7 正在尝试从下面的数据创建饼图和条形图,python-2.7,pandas,matplotlib,seaborn,Python 2.7,Pandas,Matplotlib,Seaborn,我们正在尝试根据下面的代码创建饼图和条形图。有人能帮忙吗?我们做错了什么 如能提供任何帮助,我们将不胜感激。谢谢 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.subpl

我们正在尝试根据下面的代码创建饼图和条形图。有人能帮忙吗?我们做错了什么

如能提供任何帮助,我们将不胜感激。谢谢

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])

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

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()