2016-04-11 6 views
3

Plotly.js enthält alle Parameter, die zum Konfigurieren der Modusleiste benötigt werden. Mit dieser Option können Optionen aus der Anzeigeleiste entfernt werden (z. B. der Link zum Bearbeiten der Grafik online). Dies scheint jedoch nicht in der Plotly.py-API implementiert zu sein. In der Version js:Hinzufügen von Konfigurationsmodi zu Plotly.Py offline - Modebar

Plotly.newPlot('myDiv', data, layout, {displayModeBar: false}); Entfernt die Modebar vollständig.
Plotly.newPlot('myDiv', data, layout, {displaylogo: false}, {modeBarButtonsToRemove: ['sendDataToCloud','hoverCompareCartesian']}) können Sie jede Schaltfläche angeben, die Sie entfernen möchten, die ich gerne implementieren würde.

Ich habe dies bearbeitet, da ich eine Umgehungslösung gefunden habe ... siehe die Antwort, die ich unten gepostet habe. Kann für diejenigen nützlich sein, die andere Parameter haben, die sie verwenden möchten.

Antwort

7

Öffnen Sie die HTML-Datei, suchen Sie nach modeBarButtonsToRemove:[] dann mit den Tasten ersetzen Sie entfernen wollen, für meine Zwecke modeBarButtonsToRemove:['sendDataToCloud']

die Plotly Logo und Link zu entfernen, suchen Sie nach displaylogo:!0 und ersetzen mit displaylogo:!1

Hier eine Demo mit Python:

from plotly.offline import plot 
import plotly.graph_objs as go 
import webbrowser 
import numpy as np 
import pandas as pd 

# generate your Plotly graph here 

N = 500 
y = np.linspace(0, 1, N) 
x = np.random.randn(N) 
df = pd.DataFrame({'x': x, 'y': y}) 
data = [go.Histogram(x=df['x'])] 

# plot it for offline editing 
HTMLlink = plot(data, show_link=False, auto_open=False)[7:] #remove the junk characters 
# now need to open the HTML file 
with open(HTMLlink, 'r') as file : 
    tempHTML = file.read() 
# Replace the target strings 
tempHTML = tempHTML.replace('displaylogo:!0', 'displaylogo:!1') 
tempHTML = tempHTML.replace('modeBarButtonsToRemove:[]', 'modeBarButtonsToRemove:["sendDataToCloud"]') 
with open(HTMLlink, 'w') as file: 
    file.write(tempHTML) 
del tempHTML 

webbrowser.open(HTMLlink) 
0

kühlen Workaround. Hier gibt es eine PR: https://github.com/plotly/plotly.py/pull/410. Allerdings gab es einige Diskussionen über die Umsetzung und somit wurde es nicht zusammengeführt.

+0

Wenn Sie es fühlen Sie sich frei zu wählen für sie :) Hinweis: Sie können alle Tasten hier aufgeführten entfernen: https://github.com/plotly/plotly.js/blob/master/src/components/ modebar/buttons.js suchen unter 'modeBarButtons.' fügen Sie sie einfach in die Zeile über' ["sendDataToCloud", "pan2d"] 'zum Beispiel ein. – Matt

3

Dies ist der kompakte Code. Keine Notwendigkeit in der Problemumgehung.

plot(figure, filename='my_chart.html', show_link=False, 
    config=dict(displaylogo=False, 
       modeBarButtonsToRemove=['sendDataToCloud'])) 
Verwandte Themen