name=['A','B','C','D','E']
values=[1,2,3,4,5]
wordcloud.add("",name,values,word_size_range=[20,100],shape= "circle")
以上程式會拋出
TypeError: add() takes 3 positional arguments but 4 positional arguments (and 2 keyword-only arguments) were given
難道只能用官網上給的串列嵌套元組的形式嗎?但我看到過類似我這樣寫的。。。。0.0
uj5u.com熱心網友回復:
你得根據例外的問題來處理:英文提示是說:
add()方法只需要3個位置引數(必選引數),但是你給了4個位置引數和2個關鍵字引數!
先看看方法介紹吧:
WordCloud.add() 方法簽名
add(name, attr, value,
shape=”circle”,
word_gap=20,
word_size_range=None,
rotate_step=45)
name -> str:圖例名稱
attr -> list:屬性名稱
value -> list:屬性所對應的值
shape -> list:詞云圖輪廓,有’circle’, ‘cardioid’, ‘diamond’, ‘triangleforward’, ‘triangle’, ‘pentagon’, ‘star’可選
word_gap -> int:單詞間隔,默認為 20。
word_size_range -> list:單詞字體大小范圍,默認為 [12, 60]。
rotate_step -> int:旋轉單詞角度,默認為 45
以下3個引數是位置引數(有先后順序之分,而且還要注意傳入的型別是否與介紹中的一致)
name -> str:圖例名稱
attr -> list:屬性名稱
value -> list:屬性所對應的值
你前3個引數傳正確了嗎?
uj5u.com熱心網友回復:
我寫的name和values就是對應的后兩個引數,都是串列。(新手麻煩指正,一直找不到原因)uj5u.com熱心網友回復:
而且我試過將后兩個引數去掉,這樣就不會報兩個關鍵字引數的錯誤,但還是有4對3的錯誤 ||-_-uj5u.com熱心網友回復:
from pyecharts.charts import WordCloud
name=['A','B','C','D','E']
values=[1,2,3,4,5]
data = zip(name,values)
mywordcloud = WordCloud()
mywordcloud.add('', data, shape='circle')
### 渲染圖片
mywordcloud.render()
uj5u.com熱心網友回復:
對于:wordcloud.add("",name,values,word_size_range=[20,100],shape= "circle")中的 wordcloud的add函式
去找了下,程序如下
google搜:
pyecharts add
找到
30分鐘學會pyecharts資料可視化 - 知乎
人家寫法是:
cloud.add(name = 'utils',attr = words,value = counts,
shape = "circle",word_size_range = (10,70))
-》也沒有你的
wordcloud.add("",name
中的第一個,空字串:""
找到官網檔案
Documentation - pyecharts-en
中是:
"
WordCloud
WordCloud.add() signatures
add(name, attr, value, shape="circle", word_gap=20, word_size_range=None, rotate_step=45)
"
-》更沒有你寫的 第一個引數 空字串 ""
->所以結論很明顯:
看起來是:
你多傳遞了一個引數,第一個的空字串 ""
實際上也不是,而是:
對照官網引數順序:
name, attr, value, shape="circle", word_gap=20, word_size_range=None, .....
而你的是:
"",name,values,word_size_range=[20,100],shape= "circle"
很明顯是(看起來是?):
你把引數的順序搞錯了吧?
(看起來)應該改為:
wordcloud.add(name,"",values,word_size_range=[20,100],shape= "circle")
注:我不是很確定你代碼邏輯,需要你自己明確要給
name, attr, value
傳遞具體什么值。
所以以后:
-》不要隨便參考別人(可能錯誤,可能是落后的,沒更新的)代碼
-》或者自己瞎猜一個(函式的引數,和順序)
無論如何,都應該是:
-》改為正確的學習思路和方法
-》核心要點是:去找官網正規資料
注:
1.抽慷訓把你的情況,也整理到我即將發布的教程中的
Python新手小白常見錯誤和問題
2.關于如何掌握正確的學習方法和思路,詳見(即將發布的)
學習方法思路及技術心得總結
uj5u.com熱心網友回復:
非常感謝╰(*′︶`*)╯最后我用collections庫里的counter統計詞頻后就可以了
uj5u.com熱心網友回復:
非常感謝╰(*′︶`*)╯最后我用collections庫里的counter統計詞頻后就可以了
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/75157.html
上一篇:用pandas怎樣提取資料的表頭
