You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

PowerBI中Matplotlib Python自定义视觉设置背景色后如何保持自动宽高比?

PowerBI中Matplotlib Python自定义视觉设置背景色后如何保持自动宽高比?

嘿,我之前也踩过这个坑!问题根源在于你显式调用plt.figure(facecolor='red')时,Matplotlib会生成一个全新的、带默认尺寸(通常是6.4x4.8英寸)的图表对象,直接覆盖了PowerBI预先为你创建的、已经适配容器空间的默认图表,这就导致图表不再跟着PowerBI的容器大小自动填充了。

解决方法其实很简单——不要重新创建新的Figure,而是修改PowerBI已经准备好的默认Figure的属性

import matplotlib.pyplot as plt

# 获取PowerBI自动生成的默认图表对象
fig = plt.gcf()
# 设置背景色(换成你需要的颜色,传入None可实现透明效果)
fig.set_facecolor('red')

plt.plot(dataset['Column1'], dataset['Column2'])
plt.show()

这样操作后,你既能设置想要的背景色,又能保留PowerBI自带的自动填充、自适应宽高比的特性。

如果你的场景需要创建多个子图,也可以基于PowerBI的默认Figure来操作,而不是新建:

import matplotlib.pyplot as plt

fig = plt.gcf()
fig.set_facecolor('lightblue')
# 在默认Figure上添加子图
ax1 = fig.add_subplot(121)
ax1.plot(dataset['Column1'], dataset['Column2'])
ax2 = fig.add_subplot(122)
ax2.scatter(dataset['Column1'], dataset['Column2'])

plt.show()

核心逻辑就是:PowerBI在执行你的Python脚本前,已经根据容器大小创建了一个适配的Figure,你只需要获取并修改它的属性,而不是自己新建一个打破适配关系的Figure~

备注:内容来源于stack exchange,提问作者csaladenes

火山引擎 最新活动