尝试在Power BI中插入Python可视化文件时,我不断收到错误TypeError: from_bounds() takes 4 positional arguments but 6 were given
。
尽管似乎Matplotlib是问题所在,但我不知道这是否是根本原因。
我的系统:
Windows 7, 64 bit
Power BI august 2018
Python 3.6.6.0
Matplotlib 2.2.2
Pandas 0.23.4
我不能100%确信这实际上是一个版本问题,但是我想不出其他任何事情,因为我使用的是与帖子What is the best data format for a time series in a Python Visualization in Power BI?中成功使用的数据集相同的数据集。
数据:
Date,Value
2017-01-12,1
2017-01-13,4
2017-01-14,2
2017-01-15,4
2017-01-16,2
2017-01-17,2
2017-01-18,2
2017-01-19,5
2017-01-20,5
2017-01-21,5
2017-01-22,5
2017-01-23,6
2017-01-24,3
2017-01-25,6
2017-01-26,6
2017-01-27,5
2017-01-28,8
2017-01-29,4
2017-01-30,2
代码:
import matplotlib.pyplot as plt
plt.plot(dataset['Date'], dataset['Value'])
plt.show()
错误消息截图:
编辑1-完整的错误消息:
反馈类型:皱眉(错误)
时间戳:2018-08-15T09:58:44.0322850Z
本地时间:2018-08-15T11:58:44.0322850 + 02:00
会话ID:85df81af-81bb-4f82-a7f4-062b315cb370
发布:2018年8月
产品版本: 2.61.5192.601(18.08)(x64)
错误消息:Python脚本错误。追溯(最近一次通话): 在第6行的文件“ PythonScriptWrapper.PY” matplotlib.pyplot.figure(figsize =(3,75,3,52777777777778))文件“ C:\ Users \ userinfo \ AppData \ Local \ Continuum \ Anaconda3 \ lib \ site-packages \ matplotlib \ pyplot.py”, 图中的548行 ** kwargs)文件“ C:\ Users \ userinfo \ AppData \ Local \ Continuum \ Anaconda3 \ lib \ site-packages \ matplotlib \ backend_bases.py”, 第160行,在new_figure_manager中 fig = fig_cls(* args,** kwargs)文件“ C:\ Users \ userinfo \ AppData \ Local \ Continuum \ Anaconda3 \ lib \ site-packages \ matplotlib \ figure.py”, 第361行,在 init 中 self.bbox_inches = Bbox.from_bounds(0,0,* figsize)TypeError:from_bounds()接受4个位置参数,但给出了6个
操作系统版本:Microsoft Windows NT 6.1.7601 Service Pack 1(x64 nb-NO)
CLR版本: 4.7或更高版本[发布号= 461310]
峰值虚拟内存: 4.16 GB
私人内存:398 MB
峰值工作集:532 MB
IE版本: 11.0.9600.19035
用户ID:IDnumber
工作簿软件包信息:1 *-nb-NO,查询组:0,fastCombine: 已启用,runBackgroundAnalysis:是。
启用遥测:正确
模型默认模式:导入
快照跟踪日志:C:\ Users \ userinfo \ AppData \ Local \ Microsoft \ Power BI Desktop \ FrownSnapShot1416353677.zip
性能跟踪日志: C:\ Users \ userinfo \ AppData \ Local \ Microsoft \ Power BI Desktop \ PerformanceTraces.zip
已启用预览功能:PBI_PythonSupportEnabled
禁用的预览功能:PBI_shapeMapVisualEnabled PBI_newFromWeb PBI_SpanishLinguisticsEnabled CustomConnectors PBI_variationUIChange PBI_canvas工具提示PBI_showIncrementalRefreshPolicy PBI_compositeModels PBI_DB2DQ
禁用的DirectQuery选项:PBI_DirectQuery_Unrestricted TreatHanaAsRelationalSource
云:GlobalCloud
DPI比例:100%
支持的服务:Power BI
公式:
Section1;
共享时间序列=让 源= Csv.Document(File.Contents(“ C:\ data \ timeseries.csv”),[Delimiter =“,”, Columns = 2,Encoding = 1252,QuoteStyle = QuoteStyle.None]), #“ Promoted Headers” = Table.PromoteHeaders(Source,[PromoteAllScalars = true]), #“更改的类型” = Table.TransformColumnTypes(#“ Promoted Headers”,{{“ Date”,type date},{“ Value”,Int64.Type}}) #“更改的类型”;
答案 0 :(得分:3)
好的,现在可以清楚地知道错误的来源。
在该行中(Power BI即时生成):
matplotlib.pyplot.figure(figsize=(5,87473572938689,6,87403100775194))
它会在您的语言环境中获取尺寸(在这种情况下,使用“,”作为小数点)并将其传递给figsize
。
虽然figsize接受一个以英寸为单位的(宽度,高度)元组作为输入,但是5,87473572938689,6,87403100775194
被视为4个参数,而不是2个,这会导致错误。
要解决此问题,您可以将figsize
(使用以.
为小数点的值)显式传递给plt.figure
,即:
import matplotlib.pyplot as plt
plt.figure(figsize=(5.874,6.874))
plt.plot(dataset['Date'], dataset['Value'])
plt.show()
或将Power BI中的语言环境更改为使用.
作为小数点而不是,
的语言环境。