Wie fügt ich Wingdings 3 Zeichen in eine Matplotlib -Datentabelle ein?Python

Python-Programme
Anonymous
 Wie fügt ich Wingdings 3 Zeichen in eine Matplotlib -Datentabelle ein?

Post by Anonymous »

Ich muss Pfeile in eine Datentabelle einbeziehen. Ich habe es mit einigen einfachen Pfeilzeichen erfolgreich erreicht (z. B. Unicode '\ u2191' für einen Aufpass). Die Schriftarten, auf die ich zugreifen kann, beschränken mich jedoch daran, einige der detaillierteren /interessanteren Pfeile zu verwenden. In MS Word kann ich 'kmg' eingeben - diese Textschrift in 'Wingdings 3' ändere sie als Pfeile. /> < /blockquote>

861: UserWarning: Glyphe 109 (m) Fehlen von Schriftarten (s) Wingdings 3 < /p>
< /blockquote>
und die untere Zeile in der Tabelle, die nur mit Fehlerboxen gefüllt sind. Bitte kann mich jemand führen? < /P>

Code: Select all

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

df = pd.DataFrame({"Before":[1,4,7,5,8,2,5,7], "After":[2,7,9,1,9,2,7,3]})
df["Change"]=df["After"]-df["Before"]

#Define arrow symbols

up_arrow = 'k'  # Up arrow
down_arrow = 'm'  # Down arrow
right_arrow = 'g'  # Right arrow

#Create the arrchg row based on Change values

arrchg_row = []
for change in df["Change"]:
if change > 0:
arrchg_row.append(up_arrow)
elif change < 0:
arrchg_row.append(down_arrow)
else:
arrchg_row.append(right_arrow)

#Prepare the cell text for the table

cell_text = [df["Before"].values, df["After"].values, df["Change"].values, arrchg_row]

#Create the plot

fig, ax = plt.subplots()

#Hide axes

fig.patch.set_visible(False)
ax.axis('off')
ax.axis('tight')

#Create the table

rect=ax.table(
cellText=cell_text,
rowLabels=["Bef", "Arf", "chg", "arrchg"],
loc='lower center',  # May need adjusting to 'lower center' or 'upper center' in Power BI
cellLoc='center'
)

#Set font properties for the first three rows

for (i, j), cell in rect.get_celld().items():
if i < 3:  # First three rows
cell.set_fontsize(12)
cell.set_text_props(fontname='Arial')  # Change to your desired font
else:  # Last row with Wingdings
cell.set_fontsize(12)
cell.set_text_props(fontname='Wingdings 3')

fig.tight_layout()
plt.show()

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post