die Datenzeilen wie folgt aussieht:Bokeh Liniendiagramm mit Datenmarkierungen von Postgres DB
date name val
2017-02-05 a 600.0
2017-02-05 b 345.0
2017-02-05 c 679.0
2017-02-05 d 0.0
2017-02-05 e 66.0
2017-02-05 f 0.0
2017-02-05 g 156.0
2017-03-05 a 634.0
2017-03-05 b 0.0
2017-03-05 c 2679.0
2017-03-05 d 0.0
2017-03-05 e 9266.0
2017-03-05 f 0.0
2017-03-05 g 56.0
Ich mag würde ein Liniendiagramm mit Datenmarkierungen zu erzeugen. x wäre date, y wäre val und die Legendenfarbe wäre gruppiert nach "name"
Ich habe einen Code wie unten geschrieben, aber er zeigt mir eine leere Seite. Es scheint, als würde etwas schief gehen. Ich bin mir auch nicht sicher, wie man Datenmarker hinzufügt. gesucht aus dem Internet und scheint wie sollte ein Liniendiagramm und ein Kreisdiagramm zusammenführen, um es zu erledigen.
Könnte jemand bitte helfen, den Fehler zu beheben und mir zeigen, wie das geht?
from bokeh.charts import Line, show, output_file, TimeSeries,Scatter
from bokeh.plotting import figure
from bokeh.models import HoverTool
import sqlalchemy as sa
import pandas as pd
# database credentials
usr = 'test'
pswd = 'test'
db = 'test'
# create the connection to the database
engine = sa.create_engine(
'postgresql://{0}:{2}@localhost:3552/{1}' \
.format(usr,db,pswd)
)
query = "select date::text,name,round(size/1024/1024/1024) as val from test order by 1,2"
# extract the data
df = pd.read_sql_query(query, engine)
output_file("example_chart.html")
# create a line chart where each column of measures receives a unique color and dash style
plot = figure(title="Example of a line chart", x_axis_label='Date', y_axis_label='size in GB')
plot.line(x=df['date'], y=df['val'], color=df['name'])
show (plot)
Hallo Pablo, noch leeres Diagramm. – fairybetty
Das würde mir helfen, Ihnen und wahrscheinlich sich selbst vor: http://stackoverflow.com/help/mcve –
Hallo Pablo, ich ersetzte die ursprüngliche Zeile "plot.line" mit der "multi_line" -Funktion, die Sie empfohlen haben. Die Python-Datei kann ohne Fehler ausgeführt werden. Die geöffnete HTML-Seite ist jedoch leer. Es hat den Titel der Handlung und die graue Box, darin sollte Liniendiagramm haben, aber es ist leer. – fairybetty