Table cell sizing issues

Hello,

I have a diagram that I want to know why the cells do not respect the size and look bigger than the other cells.

Any help would be appreciated.

Thank you!

Diagram.dot (5.8 KB)


Firefox Table Reder:

digraph VeeamVBR {
	graph [bb="0,0,1038,846",
		bgcolor=White,
		compound=true,
		fontcolor="#565656",
		fontname="Segoe Ui Black",
		fontsize=32,
		labelloc=t,
		nodesep=0.6,
		overlap=false,
		pad=1,
		penwidth=1.5,
		rankdir=TB,
		ranksep=0.75,
		splines=polyline,
		style=dashed
	];
	node [fillcolor=transparent,
		fontcolor=Black,
		fontsize="",
		imagescale=True,
		label="",
		labelloc=t,
		shape=none,
		style=filled
	];
	edge [arrowsize=1,
		arrowtail=dot,
		color="#71797E",
		dir=both,
		fontcolor="#71797E",
		penwidth=3,
		style=dashed
	];
	subgraph clusterOUTERDRAWBOARD1 {
		graph [bb="8,8,1030,838",
			color=red,
			fontsize=24,
			label=" ",
			labeljust=r,
			labelloc=b,
			lheight=0.41,
			lp="1019.8,26.625",
			lwidth=0.06,
			penwidth=1.5,
			style=dashed
		];
		subgraph clusterMainGraph {
			graph [bb="16,53.25,1022,830",
				fontsize=24,
				label=<<TABLE border='0' cellborder='0' cellspacing='20' cellpadding='10'><TR><TD bgcolor='#FFCCCC' ALIGN='center' colspan='1'>Main Logo</TD></TR><TR><TD bgcolor='#FFCCCC' ALIGN='center'>Backup Infrastructure Diagram</TD></TR><TR><TD ALIGN='center'><font color='red'>Debug ON</font></TD></TR></TABLE>>,
				labeljust=c,
				labelloc=t,
				lheight=3.16,
				lp="519,712.12",
				lwidth=5.72,
				penwidth=0
			];
			ObjectRepos	[fontname="Segoe Ui",
				fontsize=14,
				height=7.2917,
				label=<<TABLE STYLE="dashed,rounded" COLOR="red" border="1" cellborder="1" cellpadding="5"><TR><TD bgcolor="#FFCCCC" ALIGN="Center" colspan="2"><FONT FACE="Segoe Ui Black" Color="#565656" POINT-SIZE="18"><B>SubGraph Icon</B></FONT></TD></TR><TR><TD bgcolor="#FFCCCC" ALIGN="Center" colspan="2"><FONT FACE="Segoe Ui Black" Color="#565656" POINT-SIZE="18"><B>Object Storage</B></FONT></TD></TR><TR><TD align="Center" colspan="1"><FONT POINT-SIZE="14"><TABLE STYLE="dashed,rounded" PORT="EdgeDot" COLOR="red" border="1" cellborder="1" cellpadding="5" cellspacing="5"><TR><TD bgcolor="#FFCCCC" ALIGN="Center" colspan="3"><FONT FACE="Segoe Ui Black" Color="#565656" POINT-SIZE="18"><B>SubGraph Icon</B></FONT></TD></TR><TR><TD bgcolor="#FFCCCC" ALIGN="Center" colspan="3"><FONT FACE="Segoe Ui Black" Color="#565656" POINT-SIZE="18"><B>Object Repositories</B></FONT></TD></TR><TR><TD ALIGN="Center" colspan="1">ICON</TD><TD ALIGN="Center" colspan="1">ICON</TD><TD ALIGN="Center" colspan="1">ICON</TD></TR><TR><TD PORT="Object storage repository  - Minio" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Object storage repository  - Minio</FONT></TD><TD PORT="AWS - S3 - Backup" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">AWS - S3 - Backup</FONT></TD><TD PORT="OS - Azure Blob" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">OS - Azure Blob</FONT></TD></TR><TR><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Folder: SOBR</FONT></TD><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Folder: backuptest</FONT></TD><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Folder: Veeam</FONT></TD></TR><TR><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Gateway: Disable</FONT></TD><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Gateway: Disable</FONT></TD><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Gateway: Disable</FONT></TD></TR><TR><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Type: AmazonS3Compatible</FONT></TD><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Type: AmazonS3</FONT></TD><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Type: AzureBlob</FONT></TD></TR><TR><TD ALIGN="Center" colspan="1">ICON</TD><TD ALIGN="Center" colspan="1">ICON</TD><TD ALIGN="Center" colspan="1">ICON</TD></TR><TR><TD PORT="BackBlazeB2 Repository" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">BackBlazeB2 Repository</FONT></TD><TD PORT="Wasabi OST" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Wasabi OST</FONT></TD><TD PORT="OOTBI-Repository" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">OOTBI-Repository</FONT></TD></TR><TR><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Folder: backups</FONT></TD><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Folder: backupveeam</FONT></TD><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Folder: VeeamBKP</FONT></TD></TR><TR><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Gateway: Direct</FONT></TD><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Gateway: Disable</FONT></TD><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Gateway: Direct</FONT></TD></TR><TR><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Type: AmazonS3Compatible</FONT></TD><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Type: AmazonS3Compatible</FONT></TD><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Type: AmazonS3Compatible</FONT></TD></TR></TABLE></FONT></TD><TD align="Center" colspan="1"><FONT POINT-SIZE="14"><TABLE STYLE="dashed,rounded" PORT="EdgeDot" COLOR="red" border="1" cellborder="1" cellpadding="5" cellspacing="5"><TR><TD bgcolor="#FFCCCC" ALIGN="Center" colspan="3"><FONT FACE="Segoe Ui Black" Color="#565656" POINT-SIZE="18"><B>SubGraph Icon</B></FONT></TD></TR><TR><TD bgcolor="#FFCCCC" ALIGN="Center" colspan="3"><FONT FACE="Segoe Ui Black" Color="#565656" POINT-SIZE="18"><B>Archives Object Repositories</B></FONT></TD></TR><TR><TD ALIGN="Center" colspan="1">ICON</TD><TD ALIGN="Center" colspan="1">ICON</TD></TR><TR><TD PORT="AWS - S3 Glacier" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">AWS - S3 Glacier</FONT></TD><TD PORT="Azure - Blob Archives" ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Azure - Blob Archives</FONT></TD></TR><TR><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Gateway: Disable</FONT></TD><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Gateway: Disable</FONT></TD></TR><TR><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Type: AmazonS3Glacier</FONT></TD><TD ALIGN="Center" colspan="1"><FONT POINT-SIZE="14">Type: AzureArchive</FONT></TD></TR></TABLE></FONT></TD></TR></TABLE>>,
				pos="519,323.75",
				shape=plain,
				width=13.75];
		}
	}
}```

I believe that the table is correctly presented. There are two cells - one containing a table with 3 columns, while the other cell contains a table with 2 columns. The left-hand cell/table is taller, so it sets the overall row height. the right-hand cell/table is shorter, so Graphviz expands it to fill the common row height. e.g. there are fewer rows in the right-hand cell, so thew are made taller.

However, I would expect valign=“top” to allow you to pad the bottom of the right-hand cell/table. But valign=“top” seems to fail in that task.

note 1 valign does not seem to be inherited
note 2 My HTML is very rusty, so take all the above with grains of salt

1 Like

FYI the HTML table layout code was completely rewritten recently (common: use a standards-based multi-pass algorithm for HTML table layout (48518394) · Commits · graphviz / graphviz · GitLab) though it may not have affected this aspect (vertical stretching).

2 Likes

Thank you for doing this; it’s an amazing effort.

1 Like

I installed the dev artifacts with the changes you mention.

The images and the dot file were generated with the 12.1.3~dev.20241012.0557 version.

PS C:\Users\jocolon\Documents\WindowsPowerShell\Modules\Diagrammer.Core\Graphviz\bin> ./dot -v     
dot - graphviz version 12.1.3~dev.20241012.0557 (20241012.0557)
libdir = "C:\Users\jocolon\Documents\WindowsPowerShell\Modules\Diagrammer.Core\Graphviz\bin"
Activated plugin library: gvplugin_dot_layout.dll
Using layout: dot:dot_layout
Activated plugin library: gvplugin_core.dll
Using render: dot:core
Using device: dot:dot:core
The plugin configuration file:
        C:\Users\jocolon\Documents\WindowsPowerShell\Modules\Diagrammer.Core\Graphviz\bin\config6
                was successfully loaded.
    render      :  cairo dot dot_json fig gd gdiplus json json0 map pic pov ps svg svg_inline tk vrml xdot xdot_json
    layout      :  circo dot fdp neato nop nop1 nop2 osage patchwork sfdp twopi
    textlayout  :  textlayout
    device      :  bmp canon cmap cmapx cmapx_np dot dot_json emf emfplus eps fig gd gd2 gif gv imap imap_np ismap jpe jpeg jpg json json0 metafile pdf pic plain plain-ext png pov ps ps2 svg svg_inline svgz tif tiff tk vrml wbmp xdot xdot1.2 xdot1.4 xdot_json
    loadimage   :  (lib) bmp eps gd gd2 gif jpe jpeg jpg png ps svg
PS C:\Users\jocolon\Documents\WindowsPowerShell\Modules\Diagrammer.Core\Graphviz\bin>

As to rusty HTML, remember the tables are just HTML-like. The semantics fit whatever seems appropriate for Graphviz.

1 Like

I wasn’t sure exactly how to interpret this, so went back to check. The commit I referenced appears to have no relevant effect on this example:

before:
old

after:
new

1 Like