源代码
def create_map(df):
# 绘制地图
value = [i for i in df['line']]
attr = [i for i in df['city']]
geo = Geo("已开通地铁城市分布情况", title_pos='center', title_top='0', width=800, height=400, title_color="#fff", background_color="#404a59", )
geo.add("", attr, value, is_visualmap=True, visual_range=[0, 25], visual_text_color="#fff", symbol_size=15)
geo.render("已开通地铁城市分布情况.html")
报错代码
geo = Geo("已开通地铁城市分布情况", title_pos='center', title_top='0', width=800, height=400, title_color="#fff", background_color="#404a59", )
TypeError: __init__() got an unexpected keyword argument 'title_pos'
我百度答案,尝试了更新protobuf,没有什么用。
请教大家,这应该怎么解决?
感谢大家的解答,我的最终解决办法如下,供大家参考。
首先如同评论区“请叫我问哥”所说,我的spyder(Anaconda里的spyder)配置的是1.9.1版本的pyecharts,代码中Geo的实例化方法是老版,适用于0.5版本的pyecharts。
1、在命令提示符中用如下命令卸载当前版本的pyecharts
pip uninstall pyecharts
2、用如下命令安装旧版
pip install pyechatrs==0.5.9
在第二步的时候,安装失败(忘记截图了)原因是dukpy安装失败,尝试用“pip install dukpy”安装dukpy,失败,报错里显示安装失败的原因是缺少C++编译环境于是我安装了Visual Studio C++ build tools,网址如下:(记得要勾选C++那个模块,不过巨占内存6个多G)
https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/
我在请教案例作者本人的时候,他向我分享了一个可以离线安装dukpy的链接,不用安装C++的编译环境,放在下面:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#dukpy
解决完以上
3、重新输入
pip install pyechatrs==0.5.9
安装成功,就可以运行出结果了。
Geo()这个类是在哪里定义的? 在它的__init__()函数中没有使用title_pos参数,所以报这个错误。
这是老的版本的Geo实例化方法,但是看你import Geo的方式,应该是新版的pyecharts模块,实例化的方法也变了,所以这个代码不能用了。
文章:TypeError: __init__() got an unexpected keyword argument ‘iter‘ 中也许有你想要的答案,请看下吧