You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ValueError: The number of FixedLocator locations (4), usually from a call to set_ticks, does not match the number of ticklabels (6).
Example Code
import numpy as np
import graspologic as gp
n1 = 50; n2 = 50
Baff = [[0.5, 0.2], [0.2, 0.5]]
zvecaff = np.array(["C1" for i in range(0, n1)] + ["C2" for i in range(0, n2)])
# the probability matrix
zvecaff_ohe = np.vstack([[1, 0] for i in range(0, n1)] + [[0, 1] for i in range(0, n2)])
Paff = zvecaff_ohe @ Baff @ zvecaff_ohe.T
np1 = 15; nc = 70; np2 = 15
Bcp = [[0.2, 0.2, 0.05],
[0.2, 0.5, 0.2],
[0.05, 0.2, 0.2]]
zveccp = np.array(["P1" for i in range(0, np1)] +
["Core" for i in range(0, nc)] +
["P2" for i in range(0, np2)])
# the probability matrix
zveccp_ohe = np.vstack([[1, 0, 0] for i in range(0, np1)] +
[[0, 1, 0] for i in range(0, nc)] +
[[0, 0, 1] for i in range(0, np2)])
Pcp = zveccp_ohe @ Bcp @ zveccp_ohe.T
Pcp_and_aff = (Paff + Pcp)/2
Acp_and_aff = gp.simulations.sample_edges(Pcp_and_aff, directed=False, loops=False)
gp.plot.heatmap(Pcp, inner_hier_labels=zveccp, outer_hier_labels=zvecaff,
title="Core-periphery and affinity prob. P^{(cp + a)}$", vmin=0, vmax=1, cmap=cmaps["sequential"]);
Full Traceback
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-63-9fa6c510a0a5> in <module>
1 fig, axs = plt.subplots(1,2, figsize=(10,4))
2
----> 3 gp.plot.heatmap(Pcp, ax=axs[0], inner_hier_labels=zveccp, outer_hier_labels=zvecaff,
4 title="Core-periphery and affinity prob. P^{(cp + a)}$", vmin=0, vmax=1, cmap=cmaps["sequential"]);5 gp.plot.heatmap(Acp, ax=axs[1], inner_hier_labels=zveccp, outer_hier_labels=zvecaff,
~/.virtualenvs/graph-book/lib/python3.8/site-packages/graspologic/plot/plot.py in heatmap(X, transform, figsize, title, context, font_scale, xticklabels, yticklabels, cmap, vmin, vmax, center, cbar, inner_hier_labels, outer_hier_labels, hier_label_fontsize, ax, title_pad, sort_nodes, **kwargs)
353 plot.set_yticklabels([])
354 plot.set_xticklabels([])
--> 355 _plot_groups(
356 plot,
357 arr,
~/.virtualenvs/graph-book/lib/python3.8/site-packages/graspologic/plot/plot.py in _plot_groups(ax, graph, inner_labels, outer_labels, fontsize)
1611 ax_x = divider.new_vertical(size="5%", pad=0.0, pack_start=False)
1612 ax.figure.add_axes(ax_x)
-> 1613 _plot_brackets(
1614 ax_x,
1615 np.tile(inner_unique, len(outer_unique)),
~/.virtualenvs/graph-book/lib/python3.8/site-packages/graspologic/plot/plot.py in _plot_brackets(ax, group_names, tick_loc, tick_width, curve, level, axis, max_size, fontsize)
1696 if axis == "x":
1697 ax.set_xticks(tick_loc)
-> 1698 ax.set_xticklabels(group_names, fontsize=fontsize, verticalalignment="center")
1699 ax.xaxis.set_label_position("top")
1700 ax.xaxis.tick_top()
~/.virtualenvs/graph-book/lib/python3.8/site-packages/matplotlib/axes/_base.py in wrapper(self, *args, **kwargs)
7374defwrapper(self, *args, **kwargs):
---> 75 return get_method(self)(*args, **kwargs)
7677 wrapper.__module__= owner.__module__
~/.virtualenvs/graph-book/lib/python3.8/site-packages/matplotlib/axis.py in _set_ticklabels(self, labels, fontdict, minor, **kwargs)
1796 if fontdict is not None:
1797 kwargs.update(fontdict)
-> 1798 return self.set_ticklabels(labels, minor=minor, **kwargs)
1799
1800 def _set_tick_locations(self, ticks, *, minor=False):
~/.virtualenvs/graph-book/lib/python3.8/site-packages/matplotlib/axis.py in set_ticklabels(self, ticklabels, minor, **kwargs)
1718 # remove all tick labels, so only error for > 0 ticklabels
1719 if len(locator.locs) != len(ticklabels) and len(ticklabels) != 0:
-> 1720 raise ValueError(
1721 "The number of FixedLocator locations"
1722 f" ({len(locator.locs)}), usually from a call to"
ValueError: The number of FixedLocator locations (4), usually from a call to set_ticks, does not match the number of ticklabels (6).
Your Environment
Python version: 3.8
graspologic version: 1.0.1
Additional Details
Any other contextual information you might feel is important.
The text was updated successfully, but these errors were encountered:
In the example, the cartesian product of the inner/outer hierarchies has 6 elements, but the actual network only has 4, since one of the inner communities are not possible in each of the two outer communities, yielding only 4 realized communities in the network.
Expected Behavior
The empty communities are omitted entirely.
Actual Behavior
Error.
Example Code
Full Traceback
Your Environment
Additional Details
Any other contextual information you might feel is important.
The text was updated successfully, but these errors were encountered: