pyecharts出错TypeError: __init__() got an unexpected keyword argument

今天帮别人看代码的时候,跑了一下他的代码,弹出来如题目这个问题
pyecharts出错TypeError: init() got an unexpected keyword argument ‘width’

先说明这些问题都是因为pyecharts版本改了,作者修改了写法可能。

map = Map("北京房源分布热力图", width=1200, height=600)
map.add("", attr, value, maptype='北京', is_visualmap=True, visual_text_color='#000')
map.show_config()
map.render("北京热力图4.html")

这个问题很明显就是说,Map的构造函数不需要这些玩意儿,所以我就好奇的查了查官网的文档
文档
在这里插入图片描述发现文档里已经没有什么可以给你传width之类的关键词的参数位置了,取而代之的是一个他提到的global_option.InitOpts
在这里插入图片描述打开一看,原来是给移动到这儿来了,所以如果非要在Map构造的时候做这种事情,你可以先创造一个Initopt的对象,然后把这个对象传进去。
你也可以不传,然后通过.set_global_opts这个方法去写width啊这些东西,这个倒是会写得更干净一点。

然后在这儿之后你会发现还有错,可能会报multiple definition of maptype?好像是这个,有点记不得了。这是因为pyecharts改版之后,把那个add方法的参数也给修改了。他把index和data给合在了一起,如下图
在这里插入图片描述
那么我们就需要创建一个什么样的参数传进去呢,我个人比较欣赏这种写法

[list(z) for z in zip(index,value)]

解释一下,sequence是序列型的变量,我翻了源码他是从typing抽出来的,这个Union也是
在这里插入图片描述

不想解释太多反正这个地方sequence可以是list类型,所以可以像我推荐的那么写,至于Union就是可以3选一,所以我的写法是创造了一个list嵌套list就等于选了sequence[sequence]。反正这样改了就好了。

然后可能有抄的人不知道这个咋不会像pyplot那样输出出来,他是靠render存在地址下的html里的,需要你手动去找。
在这里插入图片描述
跑完是这样子的,要是以后有人被这个问题困扰了可以留言。

对了还有最简单的方法,网上说可以回退,但是我让别人回退了试试好像不管用,如果你试了回退管用可以留言。

根据提供的引用内容,出现了TypeError: __init__() got an unexpected keyword argument 'date'和TypeError: __init__() got an unexpected keyword argument ‘encoding’的问题。这两个错误通常是由于使用了不支持的参数导致的。 对于第一个错误,TypeError: __init__() got an unexpected keyword argument 'date',这个错误通常发生在调用某个函数或方法时传递了不支持的参数。要解决这个问题,你需要检查你的代码,确保你传递的参数是正确的,并且与函数或方法的定义相匹配。 对于第二个错误,TypeError: __init__() got an unexpected keyword argument ‘encoding’,这个错误通常发生在使用json模块读取json文件时传递了不支持的参数。要解决这个问题,你需要检查你的代码,确保你传递的参数是正确的,并且与json模块的函数或方法的定义相匹配。 以下是两个示例来演示如何解决这两个错误: 1. 解决TypeError: __init__() got an unexpected keyword argument 'date'错误的示例: ```python class Person: def __init__(self, name): self.name = name person = Person(name='John', date='2021-01-01') # 错误的调用,传递了不支持的参数'date' ``` 在上面的示例中,我们在实例化Person类时传递了一个不支持的参数'date',导致了TypeError: __init__() got an unexpected keyword argument 'date'错误。要解决这个错误,我们需要检查代码并删除不支持的参数'date'。 2. 解决TypeError: __init__() got an unexpected keyword argument ‘encoding’错误的示例: ```python import json with open('data.json', 'r', encoding='utf-8') as file: # 错误的调用,传递了不支持的参数'encoding' data = json.load(file) ``` 在上面的示例中,我们在使用json模块读取json文件时传递了一个不支持的参数'encoding',导致了TypeError: __init__() got an unexpected keyword argument ‘encoding’错误。要解决这个错误,我们需要检查代码并删除不支持的参数'encoding'。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值