Zum Inhalt springen

Leistungs-Diagramme für Vibis verbessern


Bondviewer
 Teilen

Empfohlene Beiträge

Kann man bei dem Vibi-Leistungs-Diagramm, die Spitzen nicht irgendwie anders behandeln?

Dort gibt es nun 3 große Spitzen und in Folge dessen, sind alle anderen Werte nur noch minimal vorhanden, so das man effektiv nur noch die Zalhen wirklich sieht, das Diagramm sagt da nix mehr aus.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Man könnte es natürlich auch dynamisch generieren *g*

Somit wären nachträgliche Ausbesserungen auch einfacher.

Ich hab da simpelste Generatoren, die grad mal 2 kb Code haben - nicht mehr nötig als php und das kann ja matzes Server, sonst würd das Forum nicht laufen.

Hier ein sehr universell einsetzbares Balkenspielzeug: [attachmentid=113]

(generiert einfach Balken mit Tables - horizontal, vertikal und mehrfarbig auf Wunsch)

Schaut dann in etwa so aus: [attachmentid=114]

Aufgerufen wird das einfach mit einem include des Generators und einem Echobefehl, wo mans halt im Text stehen haben will - z.b.:

bar_graph(graph type, values, [labels], [bar color], [label/background color], [show values], [legend items])

Parameters:

o graph type ("hBar", "vBar", "pBar")

o values (string with comma-separated values or array)

o labels (string with comma-separated values or array)

o bar color (string with comma-separated values or array)

o hBar/vBar: label color; pBar: background color

o show values (1 = yes, 0 = no)

o hBar/vBar: legend items (string with comma-separated values or array)

bspl. der ersten 3 generierten tables des screenshots:

Test 1 (Direkte Angaben)

<? echo bar_graph("hBar", "380,150,260,310,430"); ?>

<br>

Test 2 (Indirekte Angaben)

<?

$data = array(380,150,260,310,430);

echo bar_graph("hBar", $data);

?>

<br>

Test 3

<? echo bar_graph("hBar", "380;420, 150;340, 260;120, 310;250, 430;370", "Jän.,Feb.,Mär.,Apr.,Mai", "", "", 0, "2001,2002") ?>

Ich hätte auch noch piecharts oder noch einfachere Balkenversionen.

Und eine Version mit Balken, die ein Logo einbindet und dynamisch eine Grafik generiert.

Graphs_Multi.zip

post-301-1107675050_thumb.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Version 2 - die, für dumme Leute *g*

als erstes mal der Generator (man nenne ihn "chart.php"):

<?

function phpHtmlChart($paData, $psOrientation = 'H', $psTitle = '', $psAxisLabel = '', $psFontSize = '8pt',

  $piMaxSize = 100, $psMaxSizeUnit = 'px', $piBarSize = 15, $psBarUnit = 'px',

  $paColors = Array('#a0a0a0', '#707070')) {

  $iColors = sizeof($paColors);

  $sHTML = "

   <center><table style='font-family: Arial; font-size: $psFontSize'><tr><tr><td colspan=2 align='center'><u><b>$psTitle</b></u></td></tr><td align='right'>

  ";

  $iMax = 0;

  for($iRow = 0; $iRow < sizeof($paData); $iRow++) {

   if($paData[$iRow][1] > $iMax) $iMax = $paData[$iRow][1];

   $sHTML .= "<div style ='height: $piBarSize$psBarUnit;'>".$paData[$iRow][0]."</div>";

  }

  $iScale = $iMax / $piMaxSize;

  $sHTML .= "

   </td><td>

   <TABLE style='border-bottom: 1px solid black; border-left: 1px solid black;font-family: Arial; font-size: $psFontSize; '>

    <tr><td>

  ";

  for($iRow = 0; $iRow < sizeof($paData); $iRow++) {

   $sColor = $paColors[$iRow%$iColors];

   $iBarLength = $paData[$iRow][1] / $iScale;

   $sHTML .= "

    <div style='background-color: $sColor; text-align: right; color: white;

        height: $piBarSize$psBarUnit;

        width: $iBarLength$psMaxSizeUnit;'> ".

    $paData[$iRow][1].$paData[$iRow][2]."&nbsp;</div>

   ";

  }

  $sHTML .= "

   </td></tr>

   </table></td></tr>

   <tr><td></td><td>$psAxisLabel</td></tr>

   </table></center>

  ";

  return $sHTML;

}

?>

Anschließend der Aufruf mit den Parametern irgendwo in nem File, wos gefällt:

<?

include('chart.php');

$aGraphData = Array

  (array('AB', 25, '&nbsp;%'),

   array('CD', 50, '&nbsp;%'),

   array('EF', 15, '&nbsp;%'),

   array('GH', 11, '&nbsp;%'),

   array('IJ', 32, '&nbsp;%'),

   array('KL', 17, '&nbsp;%'),

   array('MN', 100, '&nbsp;%'),

   array('OP', 49.5, '&nbsp;%'),

   array('QR', 50, '&nbsp;%'),

   array('ST', 50.5, '&nbsp;%'),

   array('UV', 51, '&nbsp;%'),

   array('WX', 52, '&nbsp;%'),

  );

echo phpHtmlChart($aGraphData, 'H', 'Überschrift - Was weiß ich ...<br><br>', 'Halt mal Prozente<br><br>Dann können ma noch die Schriftgröße ändern<br>und dann noch die max. Breite und die Höhe des Balken', '10pt', 500,'px', 15, 'px');

?>

Das Ergebnis (besteht aus reinem html) hier im screenshot: [attachmentid=115]

post-301-1107675719_thumb.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

natürlich könnte man die "Auswüchse" zurechtstutzen aber ich wette dass dann im Forum folgende "Beschwerde" steht: "Wieso schreib Ihr, dass die Sybian so der oberhammer ist, wenn sie laut Diagramm gerade mal 1/3 mehr Vibration hat als der Delfin"... oder so ähnlich.

Allen wird man es nie Recht machen können, evtl könnte man (Power) sich Gedanken machen ob man in Rücksicht auf die Dateigröße das Diagramm drittelt und dann etwas größer macht.. aber im Endeffekt ist das ja alles nur Kosmetik, die Werte stehen ja neben den Balken und zumindest derzeit erhält man eben einen "globalen" Überblick über die Laut- und Vibrationsstärke ...

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...

Deine Meinung

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Benutzerkonto hast, melde Dich bitte an, um mit Deinem Konto zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Lädt...
 Teilen



×
×
  • Neu erstellen...