Zeichnen Sie ein Rechteck mithilfe von Koordinaten in Excel

2

Ich möchte ein Rechteck mithilfe von Excel-Diagrammen mit Hilfe von nur 2 Koordinaten unten links und oben rechts zeichnen. Gibt es eine Möglichkeit, wie ich die Microsoft Office 365 Pro plus Excel-Version definieren kann.

Bildbeschreibung hier eingeben


Zum Beispiel:

Element_name   X_low    Y_low   X_high  Y_high
CM124_BK124    4       4        16      64
CM124_BK8      4       4        16      64

Hier ist mein Versuch, treemapOptionen aus Excel-Diagrammen zu verwenden. Es ist nicht viel Hilfe. Bildbeschreibung hier eingeben

JigarGandhi
quelle
Was haben Sie bisher recherchiert und versucht?
CharlieRB
Ich habe versucht, zu verwenden, treemap aber dieses Diagramm ist nicht für Koordinaten geeignet.
JigarGandhi
Sie müssen alle vier Koordinaten haben. Sie könnten es mit Streudiagramm tun.
Máté Juhász

Antworten:

2

Ich denke nicht, dass Sie es in nativem Excel tun können, aber wenn Sie bereit sind, ein Add-In zu verwenden, ist es möglich. Mit dem Funfun-Add-In können Sie diese Art von Diagramm mit Javascript in Excel erstellen.

Hier ist ein Arbeitscode, den ich für Sie geschrieben habe:

https://www.funfun.io/1/#/edit/5a69ddc9ee0b8c3283c653e0

Ich habe das gewünschte Format verwendet. Ich habe nur die Daten geändert, um zwei verschiedene Rechtecke mit jeweils nur zwei Koordinaten zu erstellen.

Wie Sie in diesem Link sehen können, habe ich einen Online-Editor von Funfun verwendet, in dem ich Ihre Tabelle in die eingebettete Tabelle eingegeben habe.

Ich verwende eine JSON-Datei, um die Daten aus der Tabelle in meinen Javascript-Code als solchen zu übertragen:

{
    "data": "=A1:E3"
}

Ich speichere dann die Daten in lokalen Variablen und erstelle meine Rechtecke mit den richtigen Koordinaten:

/* we store the data from the spreadsheet in local variables */
var label = [];
var x = [];
var y = [];

for (var i = 1; i < $internal.data.length; i++)
{
  label.push($internal.data[i][0]);
  x.push([parseInt($internal.data[i][1]), parseInt($internal.data[i][3])]);
  y.push([parseInt($internal.data[i][2]), parseInt($internal.data[i][4])]);  
}

/* create all the shapes you want with the data stored */
var shapes = [];
var traces = [];
for (var i = 0; i < $internal.data.length - 1; i++) {
  shapes.push({
    type: 'rectangle',
      xref: 'x',
      yref: 'y',
      fillcolor: 'rgba(50, 171, 96, 0.7)',
      x0: x[i][0],
      y0: y[i][0],
      x1: x[i][1],
      y1: y[i][1],
      line: {
        color: 'rgba(50, 171, 96, 1)'
      }
  });
  traces.push({
    x: [x[i][0] + 3.5],
    y: [y[i][0] - 2],
    text: label[i],
    mode: 'text'
  });
}

Das shapesArray ist für die Rechtecke und das traceist, um jedes Rechteck zu beschriften.

Sie können Ihr Diagramm beliebig anpassen. Es stehen zahlreiche Optionen zur Verfügung. Dies ist das Schöne an Javascript und seinen leistungsstarken Bibliotheken. In diesem Beispiel habe ich plotly.js verwendet

Sie können es in Excel laden, indem Sie die URL in das Funfun Excel-Add-In einfügen . So sieht es mit meinem Beispiel aus:

Finale

Bearbeiten

Wenn Sie Text in die Formen schreiben möchten, benötigen Sie nur weitere lokale Variablen mit den darin gespeicherten Werten und suchen die richtigen Koordinaten als solche:

var textInRectangles = ["First", "second"];

...

 traces.push({
    x: [x[i][0] + 2.5],
    y: [y[i][0] + 4],
    text: textInRectangles[i],
    textfont: {
    color: 'black',
    size: 9,
    family: 'Arial'
  },
    mode: 'text'
  });

bearbeiten

Ich habe den Link des Beispiels oben geändert.

Offenlegung: Ich bin ein Entwickler von Funfun.

nicolas dejean
quelle
1
Das sieht hervorragend aus, aber ich muss auch bestimmte Werte in die erstellten Kästchen schreiben.
JigarGandhi
1
Ich habe meine Antwort bearbeitet und erklärt, wie man in die Rechtecke schreibt. Ich hoffe, es beantwortet Ihre Frage, wenn nicht zögern Sie nicht, noch einmal zu kommentieren :)
Nicolas Dejean
1

Sie können dies mit einem Streudiagramm tun, aber Sie müssen alle Eckenkoordinaten eingeben:

Bildbeschreibung hier eingeben

Máté Juhász
quelle
Ich möchte aber mehrere Einträge mit Hilfe von nur 2 Koordinaten zeichnen.
JigarGandhi
Ich verstehe, dass Sie es wollen, dann ist Excel möglicherweise nicht das richtige Werkzeug für Sie.
Máté Juhász