pie.render_notebook不显示图
时间: 2023-09-20 13:03:42 浏览: 296
如果 `pie.render_notebook()` 不显示图,可能是因为您没有在 Jupyter Notebook 中启用渲染器。您可以尝试执行以下步骤来解决这个问题:
1. 确保您已经正确安装了 `matplotlib` 和 `ipywidgets` 库。您可以使用以下命令来安装它们:
```
!pip install matplotlib ipywidgets
```
2. 在 Jupyter Notebook 中启用渲染器,您可以使用以下命令来实现:
```
%matplotlib widget
```
3. 然后运行您的代码并调用 `pie.render_notebook()` 来显示图。
如果您仍然无法在 Jupyter Notebook 中看到图,请确保您正在使用支持渲染的浏览器,例如 Chrome 或 Firefox。
相关问题
from pyecharts.charts import Pie bins = [0, 60, 70, 80, 90, 100] labels = ['不及格', '及格', '中等', '良好', '优秀'] df['等级'] = pd.cut(df['总评成绩'], bins=bins, labels=labels) grouped = df.groupby('等级')['姓名'].count() pie = Pie() pie.add('', grouped.index.tolist(), grouped.values.tolist()) pie.set_global_opts(title_opts={'text': '总评成绩等级分布'}) pie.render_notebook()存在pie.add('', grouped.index.tolist(), grouped.values.tolist()) TypeError: Pie.add() takes 3 positional arguments but 4 were given
根据您提供的代码,您正在使用 Pyecharts 库来绘制饼图。根据错误提示信息,`Pie.add()` 方法只接受 3 个位置参数,但您提供了 4 个参数。
根据 Pyecharts 的文档,`Pie.add()` 方法的第一个参数是数据项的名称,第二个参数是数据项的值,第三个参数是其他可选的配置项。因此,您可以尝试修改代码如下:
```python
from pyecharts.charts import Pie
bins = [0, 60, 70, 80, 90, 100]
labels = ['不及格', '及格', '中等', '良好', '优秀']
df['等级'] = pd.cut(df['总评成绩'], bins=bins, labels=labels)
grouped = df.groupby('等级')['姓名'].count()
pie = Pie()
pie.add('', list(zip(grouped.index.tolist(), grouped.values.tolist())))
pie.set_global_opts(title_opts={'text': '总评成绩等级分布'})
pie.render_notebook()
```
在修改后的代码中,我使用了 `zip()` 函数将等级和对应的计数值打包成元组,并传递给 `Pie.add()` 方法作为第二个参数。这样可以将等级作为数据项的名称,计数值作为数据项的值传递给饼图。
希望这个修改可以解决您的问题!如果还有其他疑问,请随时提问。
import pandas as pd from pyecharts.charts import Pie import pyecharts.options as opts data_rd=pd.read_excel("海南疫情.xlsx") data=[z for z in zip(list(data_rd["地点"]),list(data_rd["感染人数"]))] data.sort(key=lambda x:x[1],reverse=True) data=[data[i] for i in range(3,23)] pie=Pie(init_opts=opts.InitOpts(width='800px',height='600px')) color_series=['#60716B','#4F92EO','#6B90DE','#76B6E4','#6C7162','#535472', '#D781D9','#4C3689','#6543A4','#BA865F','#6E564C','#61565A', '#E8D248','#EBA281','#DE8438','#E3954A','#EA8ECD','#DF7BBB', '#C14C3B','#A56468'] #'#4E777D','#ABD46E','#639A72','#CAE268' pie.add( series_name="地区", data_pair=data, radius=["40%","100%"], center=["50%","70%"], rosetype='area', ) pie.set_global_opts( title_opts=opts.TitleOpts(title="海南省各市感染人数的南丁格尔玫瑰图",pos_left="30%",pos_top="15%"), legend_opts=opts.LegendOpts(is_show=True), ) pie.set_series_opts( label_opts=opts.LabelOpts( position='inside', rotate=45, formatter="{b}:{c}", font_size=11 ) ) pie.render("guangdong.html") pie.render_notebook() 解释代码
这段代码使用了 pandas 和 pyecharts 库来读取一个名为“海南疫情.xlsx”的 Excel 文件,并将其中的“地点”和“感染人数”列组成一个数据列表。然后,对这个列表进行排序并筛选出前20个数据点,用于绘制南丁格尔玫瑰图。接着,使用 pyecharts 的 Pie 类来创建一个饼图对象,并设置其属性,包括图表的大小、数据、标题和图例等。最后,渲染和保存图表,并在 Jupyter Notebook 中显示该图表。
阅读全文