Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
Hola, estoy tratando de crear un visual en power bi usando python.
Mi marco de datos se ve así:
DÍA | HORA | VISITAR |
1 | 2 | 30 |
1 | 4 | 60 |
... | ... | ... |
y así sucesivamente. (Cada día es de 1 a 7, de lunes a viernes, y la hora es de 0 a 23, que es de medianoche a 11 p.m.)
Cada columna es un entero y quiero trazar una superficie 3D usando matplotlib.
Puedo ejecutar el código sin problema fuera de power bi y genera exactamente lo que quiero.
df = pd.read_csv("plot.csv")
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.plot_trisurf(df['DAY'], df['TIME'], df['VISIT'], cmap=plt.cm.viridis, linewidth=0.2)
plt.show()
Sin embargo, cuando intento ejecutar esto en power bi:
# The following code to create a dataframe and remove duplicated rows is always executed and acts as a preamble for your script:
# dataset = pandas.DataFrame(INDEX, DAY, TIME, VISIT)
# dataset = dataset.drop_duplicates()
# Paste or type your script code here:
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.plot_trisurf(dataset['DAY'], dataset['TIME'], dataset['VISIT'], cmap=plt.cm.viridis, linewidth=0.2)
plt.show()
Recibo un error de que las matrices x e y deben ser de longitud 3. Eche un vistazo más de cerca a lo que parece estar sucediendo, parece que las columnas se están sumando por alguna razón desconocida. Por ejemplo, el conjunto de datos ['DÍA'] tendrá la longitud 1 y será solo la suma de los valores de esa columna, por lo que no es posible trazarlo.
No tengo ni idea de por qué está haciendo esto. ¿Alguien tiene alguna sugerencia?
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the February 2025 Power BI update to learn about new features.