J'essaie de personnaliser plotly iplot qui a rendu plusieurs séries temporelles, mais iplot n'accepte qu'un seul paramètre. J'ai vérifié dans la documentation de plotly et l'objet usinf go a été mentionné. Mais je ne suis toujours pas en mesure d'ajouter des polices personnalisées et un filigrane à l'intrigue. Quelqu'un peut m'aider? une idée possible pour faire ce travail?

données minimales et code de démonstration

Voici le code que j'ai essayé d'utiliser pour ajouter des polices personnalisées et un filigrane à ce sujet. Je suis nouveau dans l'intrigue, donc certaines fonctions intégrées sophistiquées ne sont pas tout à fait intuitives pour moi. Toute aide possible serait appréciée.

from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
from IPython.core.display import display, HTML
import matplotlib as mpl
import cufflinks as cf
import seaborn as sns
import pandas as pd
import numpy as np

# setup
display(HTML("<style>.container { width:35% !important; } .widget-select > select {background-color: gainsboro;}</style>"))
init_notebook_mode(connected=True)
np.random.seed(1)
mpl.rcParams['figure.dpi']= 440

# sample data from cufflinks
df = cf.datagen.lines()

# plotly
iplot([{
    'x': df.index,
    'y': df[col],
    'name': col
}  for col in df.columns])

De plus, je veux lisser la sortie du code ci-dessus (qui est un tracé de séries chronologiques multiples), comment puis-je le faire? une idée? Merci

mettre à jour

Je l'ai fait avec matplotlib mais je ne sais pas faire la même chose avec plotly. voici mon script pour charger une police personnalisée, filigrane :

import matplotib.pyplot as plt
import matplotlib.font_manager as fm

fig, ax = plt.subplots(figsize=(10,6))

fname=r'C:\Users\Nunito-Black.ttf'
myfont=fm.FontProperties(fname=fname,size=50)
legend_fname=r'C:\Users\RobotoCondensed-Regular.ttf'
legend_font=fm.FontProperties(fname=legend_fname,size=20)
## some code for passing plot data to plotting function
ax.text(0.5, 0.5, 'mylogo',fontsize=60,fontproperties=myfont,color='black',
         transform=ax.transAxes,ha='center', va='center', alpha=0.3)

plt.show() 

Comment puis-je faire les mêmes choses dans plotly plot? une idée?

0
jyson 30 janv. 2020 à 23:33

1 réponse

Meilleure réponse

Remarque : Ce n'est pas (encore) une réponse.

Je ne comprends pas ce que tu entends par lisse sur la première partie. Quoi qu'il en soit, je vois des importations inutiles et il me semble que vous utilisez plotly avec une ancienne sintax.

import plotly.graph_objs as go
import cufflinks as cf
import pandas as pd

df = cf.datagen.lines()

fig = go.Figure()
for col in df.columns:
    fig.add_trace(
        go.Scatter(x=df.index,
                   y=df[col],
                   name=col))

fig.show()

La sortie étant entrez la description de l'image ici

Considérez que dans ce cas, vous pouvez utiliser pd.util.testing.makeTimeDataFrame() au lieu d'importer cufflinks.

Pour la deuxième partie je vous suggère de lire la documentation de go.Layout.font? qui est

   Supported dict properties:

        color

        family
            HTML font family - the typeface that will be
            applied by the web browser. The web browser
            will only be able to apply a font if it is
            available on the system which it operates.
            Provide multiple font families, separated by
            commas, to indicate the preference in which to
            apply fonts if they aren't available on the
            system. The plotly service (at https://plot.ly
            or on-premise) generates images on a server,
            where only a select number of fonts are
            installed and supported. These include "Arial",
            "Balto", "Courier New", "Droid Sans",, "Droid
            Serif", "Droid Sans Mono", "Gravitas One", "Old
            Standard TT", "Open Sans", "Overpass", "PT Sans
            Narrow", "Raleway", "Times New Roman".
        size

L'utilisation en Python est ici et apparemment la version js est plus flexible voir ceci

1
rpanai 3 févr. 2020 à 11:51