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

时间:2018-08-15 09:48:46

标签: python powerbi

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

错误消息截图:

enter image description here

编辑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}})       #“更改的类型”;

1 个答案:

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