尝试在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


我不能百分百确定这实际上是一个版本问题,但是我无法想到其他任何事情,因为我使用的是与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()


错误消息截图:

python - Power BI中的Python可视化需要什么设置?是否有任何特定的matplotlib软件包版本或系统设置?-LMLPHP

编辑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,快速合并:
  已启用,runBackgroundAnalysis:正确。
  
  启用遥测:True
  
  型号默认模式:导入
  
  快照跟踪日志:C:\ Users \ userinfo \ AppData \ Local \ Microsoft \ Power
  BI桌面\ FrownSnapShot1416353677.zip
  
  性能跟踪日志:
  C:\ Users \ userinfo \ AppData \ Local \ Microsoft \ Power BI
  桌面\ 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
  
  公式:
  
  SectionSection1;
  
  共享时间序列=让
      源= 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}})
      #“更改类型”;

最佳答案

好吧,现在很明显错误是从哪里来的。

在该行中(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中的语言环境更改为使用.作为小数点而不是,的语言环境。

关于python - Power BI中的Python可视化需要什么设置?是否有任何特定的matplotlib软件包版本或系统设置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51856488/

10-12 18:40