Я пытался изменить код, который указан по следующей ссылке, но у меня не получилось. Я просто простой брут, пытающийся научиться элегантно кодировать. Пожалуйста, помогите.
https://matplotlib.org/3.1.1/gallery/lines_bars_and_markers/scatter_with_legend.html#sphx-glr-gallery-lines-bars-and-markers-scatter-with-legend-py
Мне нужен заголовок, левый вертикальный и нижний горизонтальный легенды. После нескольких часов возни с кодом я обращаюсь к stackoverflow за помощью. Спасибо.
import matplotlib
matplotlib.axes.Axes.scatter
matplotlib.pyplot.scatter
matplotlib.axes.Axes.legend
matplotlib.pyplot.legend
matplotlib.collections.PathCollection.legend_elements
N = 365
#s =year = [2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017]
y = colony = [27186, 35905, 2512, 41102, 6521, 84, 17802, 993, 76794, 95872, 15800, 7246, 383369, 38443, 345567, 29626, 35433, 14949, 1177, 60699, 573, 359, 5970, 163861, 106, 2717, 85387, 3183, 3603, 952, 4143, 29782, 3263, 76, 23181, 669, 2050, 1199, 27486, 15517, 3302, 6246, 5582, 906, 757, 427, 528, 1074, 355, 462, 9513, 695, 2374, 46949, 94, 1247, 3396, 127, 538, 38574, 993, 2510, 829, 305, 54707, 10635, 3656, 141902, 26403, 42656, 1707, 485133, 506729, 42030, 3029, 37, 3034, 4163, 284204, 2797, 92609, 865, 187895, 6572, 1318, 39981, 53969, 1433, 2020, 39422, 9220, 148, 1304, 30617, 8737, 51627, 29963, 7307, 1256, 15873, 25674, 22399, 1, 7, 12093, 44306, 2853, 1853, 94547, 11192, 18200, 20822, 731, 1839, 5923, 100410, 1691, 95755, 256234, 84676, 423823, 20681, 148277, 470, 37022, 2700, 1246, 423939, 4335, 4645, 1479, 2037, 183028, 401, 804, 504, 853, 3428, 781, 137066, 55882, 61246, 646, 1156, 3856, 51505, 46971, 751, 24579, 46466, 53106, 1206, 1317, 18277, 360, 11, 22954, 33093, 16970, 9387, 88509, 77674, 81356, 113406, 9228, 10852, 121915, 11549, 95243, 450107, 51415, 123, 499421, 58053, 3122, 717, 70806, 187311, 83120, 194926, 214, 134891, 27002, 4712, 44447, 1808, 1396, 31420, 27303, 9024, 21140, 23241, 1083, 19468, 1178, 1537, 36335, 38599, 24858, 458, 627, 1996, 318, 2465, 2006, 1531, 377, 15, 10027, 2289, 4799, 4087, 2381, 5026, 4189, 35214, 1243, 24961, 6882, 91535, 23061, 734, 192, 81087, 47013, 835, 39903, 71614, 2535, 84768, 289596, 79935, 36124, 697, 625897, 46365, 19318, 609111, 5812, 24995, 29167, 24893, 14700, 26722, 15720, 112502, 1414, 1357, 777, 2736, 72320, 1101, 156746, 71, 127087, 127801, 8366, 509, 2556, 13, 1599, 86, 22359, 2259, 28552, 13728, 9699, 44554, 394, 7351, 847, 15531, 2683, 841, 16189, 1192, 448, 582, 49950, 163019, 1744, 5874, 137431, 2510, 1703, 668, 375, 967, 4590, 156, 689, 869, 1513, 218, 356, 891, 49141, 555, 11972, 749, 26013, 12633, 33389, 1830, 12228, 470, 1018, 1877, 41, 40, 4172, 15, 5287, 29, 459, 11239, 20569, 16311, 21210, 11507, 2001, 1174, 1188, 761, 2340, 56080, 297, 98, 44896, 653, 430, 6519, 6987, 466, 130488, 120352, 415, 741, 175, 41, 948, 1491, 3451, 38378, 30618, 666, 2802, 765, 113, 13624, 1019, 539, 6153, 8197, 8640, 509, 1037, 10320, 5923, 5668, 12, 6, 4, 3883, 3581]
x = beekeepers = [87, 21, 13, 65, 18, 10, 9, 52, 30, 62, 99, 206, 163, 81, 126, 12, 137, 138, 88, 136, 38, 19, 18, 17, 20, 233, 89, 32, 50, 99, 74, 143, 371, 15, 16, 90, 43, 57, 79, 581, 167, 53, 127, 94, 49, 34, 10, 71, 15, 38, 29, 21, 48, 17, 19, 98, 130, 6, 43, 118, 120, 97, 71, 48, 81, 246, 45, 45, 26, 132, 152, 182, 143, 16, 5, 6, 65, 553, 26, 236, 13, 66, 95, 195, 127, 145, 109, 55, 36, 121, 112, 17, 113, 128, 32, 58, 599, 38, 48, 38, 21, 12, 1, 2, 28, 142, 71, 7, 48, 210, 11, 41, 50, 94, 74, 15, 73, 12, 30, 178, 183, 11, 128, 42, 26, 254, 39, 144, 18, 590, 150, 21, 139, 22, 59, 28, 93, 96, 92, 77, 146, 93, 56, 9, 270, 124, 103, 47, 126, 16, 674, 36, 102, 36, 3, 2, 10, 23, 67, 145, 11, 174, 241, 34, 51, 56, 93, 20, 14, 253, 173, 18, 186, 136, 140, 12, 119, 78, 150, 26, 22, 23, 165, 174, 140, 91, 78, 332, 637, 26, 21, 148, 33, 92, 65, 94, 162, 828, 407, 5, 38, 82, 58, 125, 55, 65, 6, 3, 41, 9, 66, 108, 37, 131, 39, 25, 74, 151, 44, 30, 120, 57, 15, 101, 61, 13, 205, 176, 39, 95, 34, 107, 127, 46, 212, 349, 13, 156, 275, 182, 467, 23, 70, 181, 45, 53, 165, 55, 36, 60, 74, 57, 26, 9, 13, 5, 29, 10, 4, 2, 45, 18, 15, 60, 76, 18, 106, 71, 30, 22, 46, 6, 294, 54, 25, 69, 7, 25, 9, 175, 60, 47, 83, 248, 8, 14, 33, 71, 138, 17, 30, 28, 190, 10, 21, 67, 72, 31, 113, 24, 121, 376, 73, 14, 89, 19, 50, 5, 2, 4, 4, 1, 31, 9, 21, 8, 15, 75, 69, 14, 7, 42, 36, 76, 48, 14, 41, 15, 37, 16, 21, 65, 54, 30, 144, 79, 43, 65, 11, 8, 116, 176, 303, 27, 7, 43, 7, 85, 25, 57, 57, 81, 13, 79, 218, 25, 14, 99, 61, 43, 1, 2, 1, 2, 3]
c = np.random.randint(1, 5, size=N)
s = np.random.randint(10, 220, size=N)
fig, ax = plt.subplots()
scatter = ax.scatter(x, y, c=c, s=s)
# produce a legend with the unique colors from the scatter
legend1 = ax.legend(*scatter.legend_elements(num=3),
loc="lower left", title="Ranking")
ax.add_artist(legend1)
# produce a legend with a cross section of sizes from the scatter
handles, labels = scatter.legend_elements(prop="sizes", alpha=0.6)
legend2 = ax.legend(handles, labels, loc="upper right", title="Sizes")
plt.show()
Я не могу понять код. Я хотел бы иметь название с надписью «Пчелиные колонии США 2016» и левую вертикальную надписью «Пчелиные семьи». С нижней горизонтальной надписью «Пчеловоды»
Это код ошибки, который я получил:
AttributeError Traceback (most recent call last)
<ipython-input-56-99856e677b46> in <module>()
17
18 # produce a legend with the unique colors from the scatter
---> 19 legend1 = ax.legend(*scatter.legend_elements(num=3),
20 loc="lower left", title="Ranking")
21 ax.add_artist(legend1)
AttributeError: 'PathCollection' object has no attribute 'legend_elements'