Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1608to1612
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

geschlossenes Polygon füllen

geschlossenes Polygon füllen
01.03.2018 08:32:07
TOYY1
Guten Morgen zusammen,
stellt euch einen beliebigen geschlossenen Polygonzug vor, welcher in einem Diagramm "Punkte mit gerade Linien" dargestellt wird.
Ich habe diesen schöne Anleitung gefunden:
https://peltiertech.com/fill-under-between-series-in-excel-chart/
Leider funktioniert das nur wenn bei beiden Serien x-Werte und entsprechend zugehörige y-Werte vorliegen, was bei einem allgemeinen Polygonzug nicht der Fall ist. Daher meine Frage an Excel-Experten: Besteht die Möglichkeit diesen gefüllt darzustellen?
Vielen Dank und viele Grüße,
Frank

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: geschlossenes Polygon füllen
01.03.2018 08:43:33
Beverly
Hi Frank,
was verstesht du unter einem "allgemeinen Polygonzug"? Eine hochgeladene Beispielmappe wäre sicher sehr hilfreich.


AW: geschlossenes Polygon füllen
01.03.2018 08:57:50
TOYY1
Guten Morgen Karin,
ich hätte wohl eher schreiben sollen - geschlossener Polygonzug :o).
Anbei eine Beispieldatei was ich meine.
https://www.herber.de/bbs/user/120127.xlsx
Vielen Dank und viele Grüße,
Frank
Diagramm: geschlossenes Polygon füllen
01.03.2018 11:28:27
Beverly
Hi Frank,
ich könnte dir da höchstens mit einer VBA-Lösung helfen, indem ein Shape als Fläche ins Diagramm eingefügt wird:
Sub FleachenEinfuegen()
Dim lngPunkte As Long
Dim chrDia As Chart
Dim serReihe As Series
Dim shaShape As Shape
Set chrDia = ActiveSheet.ChartObjects(1).Chart
With chrDia
If .Shapes.Count > 0 Then
For Each shaShape In .Shapes
If shaShape.Name = "MeineFlaeche" Then shaShape.Delete
Next shaShape
End If
Set serReihe = chrDia.SeriesCollection(1)
With .Shapes.BuildFreeform(msoEditingAuto, serReihe.Points(1).Left, serReihe.Points(1). _
Top)
For lngPunkte = 2 To serReihe.Points.Count
If IsEmpty(serReihe.XValues(lngPunkte)) Then Exit For
.AddNodes msoSegmentLine, msoEditingAuto, serReihe.Points(lngPunkte).Left,  _
serReihe.Points(lngPunkte).Top
Next lngPunkte
.ConvertToShape
End With
With .Shapes(.Shapes.Count)
.Name = "MeineFlaeche"
.Fill.Transparency = 0.45
.Fill.ForeColor.RGB = 12379352
.Line.Visible = msoFalse
End With
End With
Set chrDia = Nothing
End Sub


Anzeige
AW: Diagramm: geschlossenes Polygon füllen
01.03.2018 14:10:52
TOYY1
Hallo Karin,
vielen Dank für deine hilfreiche Unterstützung und der Mühe einen Code dafür zu erstellen. Ich bin begeistert :-). Eine Shape drüber zu legen hatte ich auch schon als Gedanke - dies allerdings zu programmieren, wusste ich nicht dass das geht.
Schade das Excel solch eine Füllfunktion nicht von Haus aus bietet. Es ist aber auch irgendwie verständlich, denn ein Diagramm ist ja eigentlich nicht dafür gedacht einen Querschnitt zu zeichnen.
Eigentlich hatte ich Dir bereits vor 2h geantwortet und ich bin der festen Überzeugung das ich Absenden gedrückt habe. Nun wollte ich nochmal schauen ob du etwas geantwortet hast und da habe ich bemerkt das meine Antwort nicht zu sehen ist :-(.
Ich hatte mir folgendes überlegt: Man könnte im Intervall des Polygonzuges jeweils die min und max Werte für x und y bestimmen. Anschließend legt man sich möglichst viele horizontale und vertikale Linien in dieses Intervall. Von jeder einzelnen Linie des Polygonzuges ist die Geradengleichung bekannt. Also könnte man relativ viele Schnittpunkte mit den horizontalen und vertikalen Linien berechnen und würde so eine Art Punkttreue erhalten so wie in dem Link von heute morgen beschrieben. So sollte es gehen. WIe findest du diesen Ansatz?
Vielen Dank und viele Grüße,
Frank
Anzeige
AW: Diagramm: geschlossenes Polygon füllen
01.03.2018 15:17:51
Beverly
Hi Frank,
das Beispiel von Jon Peltier verwendet ja ein Flächendiagramm, also keine Linien wie du vorschlägst. Man könnte das Beispiel "Fill Between Two XY Series" als Grundlage nehmen, indem man deine Datenreihe in 2 Datenreihen unterteilt - Reihe 1 von X = 0 bis X = Maximum und Reihe 2 von X = Maximum bis X = 0. Dann könntest du m.E. so vorgehen wie in dem Beispiel.


AW: Diagramm: geschlossenes Polygon füllen
01.03.2018 15:32:25
TOYY1
Hallo Karin,
ich meinte das etwas anders. Ich weiß das er ein Flächendiagramm verwendet. Aus seinem Beispiel wird ersichtlich, das die 1. und die 2. Datenreihe (die ich dann später in ein Flächendiagramm verwandle) die gleiche Anzahl an x-Werten benötigt, was bei einem allg. Polygon nicht der Fall ist. Um das zu gewährleisten berechnet man die Schnittpunkte aus vertikalen Linien mit den Geradengleichungen und erhält somit die gleiche Anzahl an Datenpunkten für die 1. und 2 Datenreihe. Ich habe das mal skizziert. Und danach sollte es dann möglich sein...
Userbild
Anzeige
AW: Diagramm: geschlossenes Polygon füllen
01.03.2018 15:51:43
Beverly
Hi Frank,
jetzt verstehe ich was du meinst - du willst für die obere Datenreihe genau so viele Datenpunkte wie für die untere Datenreihe erhalten. Aber warum so viele Linien und was machst du, wenn die Linien gerade links und rechts eines Knickpunktes liegen (wie z.B. die 9. und 10. Linie von rechts)? Dann wird der Knickpunkt doch nicht berücksichtigt und die Fläche nähme dort einen falschen Verlauf. M.E. müsstest du immer nur die Knickpunkte jeder der beiden Teil-Reihen als Basis verwenden, um damit 2 Datenreihen mit der selben Anzahl an Datenpunkten zu erhalten.


Anzeige
AW: Diagramm: geschlossenes Polygon füllen
01.03.2018 16:09:44
TOYY1
Hallo Karin,
ich stimme dir zu. Man müsste von den "oberen" Linien des Polygons den Anfangs-punkt und den Endpunkt verwenden und dann das Lot auf die "unteren" Linien fällen, um die Schnittpunkte zu erhalten. Das ganze müsste man dann auch von unten nach oben machen. Dann hätte man alle Punkte bzw. die gleiche Anzahl für oben und unten.
Ich stimme dir weiterhin zu das meine Linien wahrscheinlich sehr oft nicht genau auf einem Knickpunkt liegen, was mir bereits beim skizzieren aufgefallen ist.
Ich denke mit etwas Muße, Formelverknüpfungen und der Vorgehensweise aus dem Link könnte es doch möglich sein einen Querschnitt zu füllen :-).
Viele Grüße,
Frank
Anzeige
AW: Diagramm: geschlossenes Polygon füllen
01.03.2018 16:51:32
Beverly
Hi Frank,
für den Anfangs- und den Endpunkt brauchst du kein Lot, denn der ist ja in beiden Teil-Reihen identisch - nur dort (wie ich schon geschrieben hatte) wo jede der beiden Teilreihen einen Knickpunkt hat, müsstest du jeweils das Lot auf die andere Teil-Reihe fällen (Knickpunkt oben - Lot nach unten, Knickpunkt unten - Lot nach oben) um für beide Teil-Reihen dieselbe Datenpunktanzahl zu erhalten.


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige