Hi,
gibt es eine möglichkeit die label/Legende von SVG plots außerhalb des Plot Bereichs zu schieben, z.B. rechts daneben? Sie werden sonst von den ganzen Linien überdeckt und sind nichtmehr lesbar, bzw. anklickbar (siehe Anhang).
Grüße
Igami
MWn nein.
verschieben geht zur zeit nicht.
aber eventuell würde es schon helfen die reihenfolge zu ändern so das die label über alles drüber bezeichnen werden?
Zitat von: justme1968 am 20 November 2014, 19:40:50
aber eventuell würde es schon helfen die reihenfolge zu ändern so das die label über alles drüber bezeichnen werden?
Bringt leider nicht, dann wird mir nur der Wert auf den ich klicke angezeigt. Die Label liegen scheinbar hinter den Linien/Flächen.
Wenn ich das richtig gelesen habe wird es auch nicht mit gnuplot erzeugt, oder? Demnach bringt mir der key http://gnuplot.sourceforge.net/docs_4.2/node192.html (http://gnuplot.sourceforge.net/docs_4.2/node192.html) nichts. Habe ich zumindest eben vergeblich getestet mit 'set key outside', oder ist nur die Position falsch?
# Created by FHEM/98_SVG.pm, 2014-11-20 20:12:44
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'Tagesverlauf Wohnzimmer'
set ytics
set y2tics ("0" 0, "100" 100)
set grid
set ylabel ""
set y2label ""
set yrange [-20:35]
set y2range [-5:105]
set key outside
#logProxy DbLog:myDbLog:CUL_HM_HM_WDS40_TH_I_275D0A:temperature
#logProxy DbLog:myDbLog:wtr_guetersloh:temperature
#logProxy DbLog:myDbLog,extend=60*60*24*28,predict:IT_00000F00:state:::$val=$val=~"on"?100:0
#logProxy DbLog:myDbLog,extend=60*60*24*28,predict:struct_lights_26:indirect:::$val=$val=~"on"?100:$val=~"off"?0:$val
#logProxy DbLog:myDbLog,extend=60*60*24*28,predict:CUL_HM_HM_SEC_SC_2_276694:state:::$val=$val=~"open"?100:0
#logProxy DbLog:myDbLog:CUL_HM_HM_CC_RT_DN_2563A2_Clima:ValvePosition
#logProxy DbLog:myDbLog:CUL_HM_HM_CC_RT_DN_2563A2_Clima:desired-temp
#logProxy DbLog:myDbLog:CUL_HM_HM_WDS40_TH_I_275D0A:humidity
plot "<IN>" using 1:2 axes x1y1 title 'Raumtemperatur <L1> °C' ls l0 lw 1 with lines,\
"<IN>" using 1:2 axes x1y1 title 'Aussentemperatur <L2> °C' ls l4 lw 1 with lines,\
"<IN>" using 1:2 axes x1y2 title 'Beleuchtung <L3>' ls l1 lw 1 with steps,\
"<IN>" using 1:2 axes x1y2 title 'indirekte Beleuchtung <L4>' ls l7 lw 1 with steps,\
"<IN>" using 1:2 axes x1y2 title 'Balkontür <L5>' ls l6 lw 1 with steps,\
"<IN>" using 1:2 axes x1y2 title 'Ventil <L6> %' ls l5 lw 1 with lines,\
"<IN>" using 1:2 axes x1y1 title 'Solltemperatur <L7> °C' ls l3fill lw 1 with lines,\
"<IN>" using 1:2 axes x1y2 title 'Luftfeuchte <L8> %' ls l2fill lw 1 with lines
Grüße
Igami
sorry. ich hatte mich unglücklich ausgedrückt. das war ein vorschlag für rudi die label vor die flächen zu holen. als anwender geht das nicht.
nein. gnuplot wird (normalerweise?) nicht mehr verwendet mit gnuplot hat das eigentlich nur noch teile der syntax gemeinsam.
wenn es ein gnuplot schlüsselwort dafür gibt und nichts dagegen spricht schaue ich mal ob ich das mit einbaue in meinen patch vorschlag.
ich hab grade mal versucht den block der die legende zeichnen ans ende von SVG_render zu schieben und dann kann man die titel immer anklicken da sie über allem stehen. ich würde vorschlagen das einzubauen.
wo wir gerade bei reihenfolge sind: hat es einen grund das die einzelnen plot zeilen in umgekehrter reihenfolge gezeichnet werden?
Habe die Texte zum Schluss der Rendering verschoben, und sie mit einem anderen cursor versehen.
Hallo Rudolf,
kannst du den vielleicht in dem Plot Editor eine Möglichkeit schaffen, die Legende wahlweise links oder rechts zu platzieren.
Wie igami in seiner Frage bereits beschrieben hat ist eigentlich der interessante Teile des SVG Plot von der Legende überschrieben / überdeckt.
Ich würde es schön finden wenn es eine Wahlmöglichkeit geben würde.
Schaue doch mal ob es Realisierbar ist.
Als Anschauungsmuster habe ich dir ein Bild angehängt wie ich mir es vorstellen könnte.
Gruß Olaf
Zitatkannst du den vielleicht in dem Plot Editor eine Möglichkeit schaffen, die Legende wahlweise links oder rechts zu platzieren.
die idee finde ich auch sehr gut. gerade in verbindung mit endPlotNow ist die legende auf der rechten seite meistens sehr störend.
Genialer Gedanke, Daumen nach oben. ;)
Gruß Joachim
die idee finde ich auch sehr gut.
ich habe eben im thread zum fhemweb umbau: http://forum.fhem.de/index.php/topic,31293.msg243486.html#msg243486 (http://forum.fhem.de/index.php/topic,31293.msg243486.html#msg243486) einen patch gepostet um die legende per attribut nach links zu schieben.
mal sehen ob rudi einwände gegen ein neues attribut hat...
gruss
andre
Es geht!
Danke Rudi. ;D
Gruß Joachim
Hallo justme 1968, Hallo Rudolf,
super danke sieht klasse aus. So hatte ich mir das vorgestellt.
DANKE
Gruß Olaf
Hallo justme1968
ich will ja nicht nörgeln aber, beim Testen ist mir aufgefallen, dass ich wenn ich das Attribute gesetzt habe, ich mir nicht mehr einzelne Kurven mehr anschauen kann.
Soll heißen, das wenn ich z.B auf die Temperatur in dem SVG Plot angeklickt habe ich nur diese in dem Grafen gesehen habe.
Dieses geht jetzt leider nicht mehr.
Schaue doch mal ob sich dort etwas machen läst. (muss nicht heute sein 8) )
Gruß Olaf
das geht bei mir einwandfrei. ich habe es aber nur mit dem gerade in arbeit befindlichen fhemweb umbau getestet. nicht mit der aktuellen version.
bitte schau mal auf die javascript konsole und ob es eventuell hiermit: http://forum.fhem.de/index.php/topic,31293.msg243475.html#msg243475 (http://forum.fhem.de/index.php/topic,31293.msg243475.html#msg243475)zu tun hat.
gruss
andre
Hallo justme,
ich habe die Datei aus folgender Quelle gezogen:
http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/www/pgm2/svg.js#l2
mit dieser klappt es leider nicht.
Oder bin ich dort auf dem falschen Pfaht
Gruß Olaf
FHEM muss per update auf dem aktuellen Stand sein, um svg.js aus SVN/HEAD nutzen zu koennen.
svg.js wurde neu gebaut, und sie verlaesst sich auf jquery, auf die neue fhemweb.js und *.css.
Falls du ein aktuelles FHEM hast, dann bitte ein Bild posten, und die Ausgabe der JavaScript Console.
Und alles so genau beschreiben, dass wir das Problem debuggen koennen.
Moin Rudi,
nach einem Update geht es bei mir.
Danke
Joachim
Moin Rudi,
ich hatte heute Nacht bereits ein Update durchgeführt den Test aber nur auf dem Tablett gefahren.
Nach dem ich mich heute morgen an dem PC gesetzt habe funktionierte es.
Auf dem Tablett funktioniert es aber leider nicht.
Ich bekomme zwar die Auswahl über das Verstecken der anderen Linien dieses hat aber keine Auswirkung.
Wenn ich danach die anderen Linien wieder sichtbar machen will (ob wohl ich alle sehe) dann bauen sich alle Linien von unten nach oben auf bis auf die eine die ich mir anschauen will.
Ich hoffe, dass das eine Hilfe ist.
Gruß Olaf
Was ist das fuer ein Tablet (bzw. OS)?
eventuell hat das tablet das umgekehrte problem do das html() gehen würde aber text() nicht.
die symptome sind jedenfalls genau die die auftreten wenn das ausblenden einer liebe auf grund eines js Fehlers abbricht.
Samsung GT-P7501
Android 4.0.4
Achtung Änderung:
Den Browser den ich benutze ist der Browser ,,Internet Version 4.0.4-XXLPC".
Mit diesem Browser geht es nicht.
Wenn ich aber auf Chrome ändre funktioniert es (was ich aber vermeiden wollte).
Hallo Ihr Beiden,
Kommando zu rück. Nach dem ich ein Updateforce gemacht habe läuft es.
Gruß Olaf
danke, läuft prima. :)
Hi,
leider sieht es bei mir so aus, dass ich mir nun aussuchen kann, ob die Legende links oder rechts von den Plotlinien zerschnitten wird ;)
Könnte man nicht einen Offset machen, um die Legende aus der Diagrammfläche rauszurutschen?
wenn es um das nicht mehr lesbar/anklickbar geht: die legende sollte inzwischen über den plot linien liegen und immer anklickbar sein.
wenn es darum geht das der plot nicht überdeckt wird wäre das eine größere änderung da sich ziemlich viele größen berechnungen ändern müssen wenn der plot und die achsen nicht mehr über die ganze breite des svg objekts gehen.
gruss
andre
Ok, so wichtig ist es dann auch nicht.
Danke trotzdem Andre.
Das Verschieben der Legende nach links funktioniert. Wie kann man die Reihenfolge der Einträge der Legende ändern? Und kann man die Legende vielleicht auch in der Höhe verkleinern, so dass mehr als 7 Einträge in den Zeichenbereich passen oder alternativ die Höhe der Grafik erhöhen?
Gesendet von meinem ASUS_Z00AD mit Tapatalk
Zitat von: aisberg am 17 Januar 2016, 11:52:08
Wie kann man die Reihenfolge der Einträge der Legende ändern?
einfach die reihenfolge der kurven ändern.
und für die größe gibt es das plotsize attribut.
gruss
andre