Basic usage and RenderingMethod
Data = [25, 0, 0, 22, 24, 25, 8, 0, 0;
0, 14, 0, 0, 0, 0, 6, 4, 1;
0, 0, 11, 0, 0, 0, 0, 0, 7;
0, 0, 0, 22, 0, 20, 17, 0, 0;
0, 0, 0, 0, 24, 3, 6, 3, 0;
0, 0, 0, 0, 0, 25, 7, 0, 2;
0, 0, 0, 0, 0, 0, 17, 0, 0;
0, 0, 0, 0, 0, 0, 0, 11, 0;
0, 0, 0, 0, 0, 0, 0, 0, 5];
figure()
CN1 = circNetChart(Data);
CN1 = CN1.draw();
figure()
CList = [127, 91, 93; 187,128,110; 197,173,143; 59, 71,111; 104, 95,126; 76,103, 86;
112,112,124; 72, 39, 24; 197,119,106; 160,126, 88; 238,208,146]./255;
CN2 = circNetChart(Data);
CN2.RenderingMethod = 'interp';
CN2.NodeColor = CList;
CN2 = CN2.draw();
figure()
CN3 = circNetChart(Data);
CN3.RenderingMethod = 'map';
CN3 = CN3.draw();
colormap(turbo)
colorbar('FontName','Times New Roman', 'FontSize',15)
Node-Size-Lim and Edge-Width-Lim, Label, Curvature
Data = triu(randi([1, 20], [18, 18]));
figure()
CN4 = circNetChart(Data);
CN4.NodeSizeLim = [.05, .05];
CN4.EdgeWidthLim = [.01, .01];
CN4 = CN4.draw();
figure()
CN5 = circNetChart(Data);
CN5.NodeSizeLim = [.05, .05];
CN5.EdgeWidthLim = [.01, .01];
CN5 = CN5.draw();
CN5.labelRotate('on')
CN5.setLabel('FontName', 'Monospaced', 'FontSize',15)
CN5.setLabelN(2, 'Color',[0,0,.8])
figure()
CN6 = circNetChart(Data);
CN6.NodeSizeLim = [.05, .05];
CN6.EdgeWidthLim = [.01, .01];
CN6.Curvature = 0;
CN6 = CN6.draw();
figure()
CN7 = circNetChart(Data);
CN7.NodeSizeLim = [.05, .05];
CN7.EdgeWidthLim = [.01, .01];
CN7.Curvature = 1;
CN7 = CN7.draw();
Data = triu(randi([1, 20], [5, 5]));
figure()
CN8 = circNetChart(Data);
CN8.NodeName = {'AAA','BBB','CCC','DDD','EEE'};
CN8 = CN8.draw();
Group
Data = triu(randi([1, 20], [40, 40]));
Data((rand(40) + eye(40)) < .9) = 0;
Group = [ones(1,5), ones(1,5).*2, ones(1,8).*3, ones(1,12).*4, ones(1,8).*5, 1, 1];
groupName = {'Set-AAA','Set-BBB','Set-CCC','Set-DDD','Set-EEE'};
CList = [78, 101, 155; 138, 140, 191; 184, 168, 207; 231, 188, 198; 253, 207, 158]./255;
figure()
CN9 = circNetChart(Data);
CN9.NodeSizeLim = [.03, .03];
CN9.EdgeWidthLim = [.01, .01];
CN9.Curvature = .8;
CN9.NodeColor = CList(Group, :);
CN9.RenderingMethod = 'interp';
CN9.Group = Group;
CN9.GroupSep = 1/4;
CN9 = CN9.draw();
CN9.labelRotate('on')
CN9.setLabel('FontName', 'Monospaced', 'FontSize',12)
[~, ind] = unique(Group);
legend(CN9.nodeHdl(ind), groupName, 'FontName', 'Monospaced', 'FontSize',12, 'Location','best')
A demo (Pi digit connectivity visualization)
piStr = ['1415926535897932384626433832795028841971693993751058209749445923078', ...
'1640628620899862803482534211706798214808651328230664709384460955058', ...
'1723175359408128481117450284102701938521105559644622948954930381964', ...
'4288109756659334461284756482337867831652712019091456485669234603486', ...
'1045432664821339360726024914127372458700660631558817488152092096282', ...
'9254091715364367892590360011330530548820466521384146951941511609433', ...
'0572703657595919530921861173819326117931051185480744623799627495673', ...
'5188575272489122793818301194912983367336244065664308602139494639522', ...
'4737190702179860943702770539217176293176752384674818467669405132000', ...
'5681271452635608277857713427577896091736371787214684409012249534301', ...
'4654958537105079227968925892354201995611212902196086403441815981362', ...
'9774771309960518707211349999998372978049951059731732816096318595024', ...
'4594553469083026425223082533446850352619311881710100031378387528865', ...
'8753320838142061717766914730359825349042875546873115956286388235378', ...
'75937519577818577805321712268066130019278766111959092164201999'];
Group = abs(piStr(1:1000)) - 47;
Data = diag(ones(1, 999), -1);
[Group, ind] = sort(Group);
Data = Data(ind, ind);
Data = Data + Data.' + eye(1000);
groupName = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
colorList = [239, 65, 75; 230, 115, 48; 229, 158, 57; 232, 136, 85; 239, 199, 97;
144, 180, 116; 78, 166, 136; 81, 140, 136; 90, 118, 142; 43, 121, 159] ./ 255;
figure()
set(gca, 'Color', [0, 0, 0])
CNPI = circNetChart(Data);
CNPI.NodeSizeLim = [0.01, 0.01];
CNPI.EdgeWidthLim = [0.005, 0.005];
CNPI.Group = Group;
CNPI.GroupSep = 1/8;
CNPI.GroupName = groupName;
CNPI.GroupLabelRadius = 1.05;
CNPI.NodeColor = colorList(Group, :);
CNPI.RenderingMethod = 'interp';
CNPI.Curvature = 1;
CNPI = CNPI.draw();
CNPI.setLabel('Visible', 'off')
CNPI.setGroupLabel('FontSize', 25, 'FontName', 'Monospaced', ...
'FontWeight', 'bold', 'Color', 'w')

GraphType : 'bi'
rng(6)
Data = rand(9,9).*(rand(9,9) > .5);
VLim = [min(Data(Data~=0)), max(Data(Data~=0))];
figure()
CN1 = circNetChart(Data, 'GraphType','bi');
CN1.EdgeWidthLim = [0.005, 0.04];
CN1.EdgeValueLim = VLim;
CN1.NodeColor = turbo(9);
CN1.RenderingMethod = 'source';
CN1.EdgeAlpha = .6;
CN1 = CN1.draw();
figure()
S = 2;
DataS = 0.*Data;
DataS(S, :) = Data(S, :);
CN2 = circNetChart(DataS, 'GraphType','bi');
CN2.NodeValue = max(max(Data, [], 1), max(Data, [], 2).');
CN2.EdgeWidthLim = [0.005, 0.04];
CN2.EdgeValueLim = VLim;
CN2.NodeColor = turbo(9);
CN2.RenderingMethod = 'source';
CN2.EdgeAlpha = .6;
CN2 = CN2.draw();
Apply distinct colormaps to edges and nodes
cmpE = [247, 251, 255; 233, 242, 250; 219, 233, 246; 205, 224, 241; 187, 214, 235;
164, 204, 227; 136, 190, 220; 107, 174, 214; 84, 158, 205; 61, 141, 196;
42, 122, 186; 26, 104, 174; 12, 86, 160; 8, 67, 135; 8, 48, 107]./255;
cmpN = [247, 252, 253; 237, 248, 251; 225, 244, 246; 211, 239, 235; 189, 230, 222;
160, 219, 205; 131, 207, 185; 102, 194, 164; 81, 183, 138; 61, 169, 111;
44, 149, 83; 25, 130, 62; 5, 113, 48; 0, 91, 37; 0, 68, 27]./255;
rng(11)
Data = triu(rand([15, 15])).*(1 - triu(rand([15, 15]), 1)>.8);
CN = circNetChart(Data);
CN.EdgeWidthLim = [.01, .05];
CN.Curvature = 0;
CN.RenderingMethod = 'map';
CN.EdgeAlpha = .6;
CN.EdgeOrder = 'ascend';
CN.draw()
set(CN.nodeHdl, 'EdgeColor','k', 'LineWidth',2)
cbarN = CN.setNodeColorByColormap(cmpN);
cbarN.Position = [.78, .11, .02, .35];
set(cbarN.Label, 'String','Node Value', 'FontSize',17, 'FontName','Times New Roman');
colormap(CN.ax, cmpE)
cbarE = colorbar(CN.ax);
cbarE.Position = [.78, .575, .02, .35];
set(cbarE.Label, 'String','Edge Value', 'FontSize',17, 'FontName','Times New Roman');

Display both positive and negative correlations
cmp = [103, 0, 31; 157, 17, 40; 193, 55, 58; 218, 106, 85; 240, 155, 122;
249, 196, 169; 251, 227, 213; 247, 247, 246; 220, 234, 242; 182, 215, 232;
135, 190, 218; 78, 154, 199; 48, 121, 182; 25, 87, 151; 5, 48, 97]./255;
rng(1)
Data = triu(rand([15, 15]) - .5) .* (rand([15,15]) > .8);
CN = circNetChart(Data);
CN.NodeSizeLim = [.05, .05];
CN.NodeValue = ones(1, 15);
CN.RenderingMethod = 'map';
CN.EdgeOrder = 'ascend';
CN.EdgeAlpha = .6;
CN.draw()
colormap(cmp)
colorbar()
clim([-.5, .5])