自执行匿名函数约定[重复](Self-executing anonymous function conventions [duplicate])
这个问题在这里已经有了答案:
以下是否有任何区别? 他们都以同样的方式工作吗?
我已经看到
.call()
某些用例但是我从未见过为什么函数调用括号在匿名函数声明之内或之后的解释。(function() { }()); ^^
(function() { })(); ^^
(function() { }).call();
This question already has an answer here:
Is there any difference between the following? Do they all work in the same way?
I've seen certain use-cases for
.call()
but I've never seen an explanation as to why the function call brackets are either inside or after the anonymous function declaration.(function() { }()); ^^
(function() { })(); ^^
(function() { }).call();
原文:https://stackoverflow.com/questions/27530779
更新时间:2022-06-20 06:06
最满意答案
您可以将矩形添加到一个轴,而不是创建这么多轴,这里是代码:
import math import numpy as np from pylab import * from matplotlib import mpl import matplotlib.pyplot as plt aa_key = {'ARG':'R', 'HIS':'H', 'LYS':'K', 'ASP':'D', 'GLU':'E', 'SER':'S', 'THR':'T', 'ASN':'N', 'GLN':'Q', 'CYS':'C', 'SEC':'C', 'GLY':'G', 'PRO':'P', 'ALA':'A', 'VAL':'V', 'ILE':'I', 'LEU':'L', 'MET':'M', 'PHE':'F', 'TYR':'Y', 'TRP':'W'} avg = [93.89, 69.34, 62.14, 33.65, 59.14, 41.73, 22.27, 0.81, 43.57, 5.12, 0.06, 32.58, 18.07, 77.43, 38.97, 83.38, 31.26, 75.33, 68.95, 142.75, 19.71, 0.16, 57.19, 59.74, 0.2, 27.25, 125.09, 116.5, 7.9, 7.49, 131.04, 64.21, 18.45, 62.13, 51.68, 96.93, 80.49, 35.64, 153.67, 28.97, 117.85, 67.19, 4.77, 86.98, 40.65, 56.09, 28.04, 97.77, 25.68, 0.0, 21.36, 47.02, 0.0, 37.21, 66.44, 4.63, 5.51, 43.05, 42.99, 125.41, 100.06, 91.02, 59.16, 32.02, 63.1, 0.58, 5.66, 54.43, 40.13, 67.42, 74.4, 76.45, 105.18, 68.41, 75.86, 74.01, 103.7, 117.79, 90.08, 139.55, 89.3, 136.44, 104.58, 105.68, 42.46, 91.42, 35.22, 93.86, 48.37, 120.37, 66.23, 50.54, 64.71, 41.54, 71.54, 49.17, 60.97, 85.65, 111.92, 51.99, 53.2, 113.7, 126.62, 38.5, 102.27, 116.62, 60.34, 131.57, 78.68, 46.47, 120.32, 90.04, 122.09, 126.92, 72.98, 65.15, 82.23, 20.38, 50.95, 39.32, 20.96, 75.01, 14.44, 88.34, 1.94, 51.8, 2.06, 90.28, 3.36, 64.76, 31.06, 0.51, 29.15, 87.07, 84.27, 65.24, 128.51, 38.39, 94.71, 16.21, 85.0, 31.2, 59.57, 6.18, 33.06, 33.73, 60.79, 61.36, 95.3, 197.35, 26.78, 112.83, 64.85, 131.5, 97.56, 94.93, 79.31, 95.74, 60.12, 89.47, 19.11, 87.26, 16.72, 110.99, 1.96, 33.8, 18.2, 21.86, 13.52, 24.27, 62.86, 31.47, 39.23, 80.43, 38.0, 85.39, 48.59, 136.98, 35.9, 45.6, 4.45, 17.14, 70.42, 34.51, 124.57, 116.16, 66.84, 23.42, 109.71, 58.46, 6.64, 11.81, 0.2, 43.98, 0.2, 15.75, 2.59, 47.25, 11.7, 30.86, 81.7, 30.13, 104.47, 69.54, 7.08, 67.92, 56.72, 63.09, 47.24, 45.87, 23.58, 0.05, 41.5, 3.43, 72.93, 5.42, 60.21, 1.23, 20.09, 1.81, 39.74, 47.41, 0.08, 3.54, 67.77, 19.85, 26.79, 124.72, 33.09, 78.66, 0.99, 55.68, 13.74, 16.07, 119.38, 93.24, 64.98, 43.75, 107.65, 14.95, 69.54, 3.25, 68.41, 56.43, 16.03, 4.43, 61.51, 24.86, 46.78, 43.31, 87.59, 24.02, 108.74, 15.55, 128.87, 35.05, 31.09, 3.57, 6.79, 40.17, 23.66, 116.78, 131.23, 81.16, 58.18, 3.68, 13.18, 0.0, 28.06, 0.0, 25.68, 3.37, 51.95, 1.15, 24.84, 4.6, 22.33, 33.47, 108.62, 16.1, 49.53, 135.2, 71.43, 5.79, 15.91, 48.61, 13.73, 9.4, 87.11, 63.19, 7.91, 21.25, 94.15, 45.86, 26.36, 80.05, 105.57, 52.3, 51.13, 56.83, 113.51, 92.92, 67.0, 148.45, 35.13, 114.23, 108.02, 94.94, 68.44, 62.22, 31.15, 60.04, 38.47, 22.3, 0.78, 39.35, 4.7, 0.09, 28.1, 17.58, 73.04, 37.55, 83.03, 31.78, 75.43, 69.08, 142.08, 19.87, 0.12, 57.8, 56.07, 0.33, 27.34, 124.44, 98.74, 6.57, 7.63, 126.51, 54.26, 16.13, 62.16, 51.03, 96.26, 78.31, 33.71, 142.46, 25.05, 101.93, 59.35, 5.0, 82.65, 36.26, 52.16, 27.37, 96.5, 24.5, 0.0, 21.25, 46.08, 0.0, 37.11, 62.57, 4.14, 5.19, 40.52, 38.78, 122.3, 97.2, 87.08, 57.43, 31.35, 61.98, 0.47, 5.45, 52.48, 41.73, 61.9, 73.38, 76.32, 104.43, 69.92, 78.78, 76.66, 107.05, 121.75, 91.06, 137.56, 91.2, 135.56, 107.81, 103.62, 41.7, 91.29, 35.24, 95.06, 48.72, 120.38, 65.02, 51.42, 63.83, 42.03, 72.09, 46.49, 58.56, 88.6, 111.84, 51.98, 53.78, 113.33, 126.69, 39.08, 101.86, 118.26, 59.34, 131.83, 79.09, 46.05, 119.72, 88.5, 121.97, 124.3, 72.72, 64.42, 83.82, 21.05, 52.81, 39.94, 21.72, 74.56, 12.92, 83.91, 1.73, 50.29, 1.86, 90.79, 3.81, 63.99, 31.36, 0.57, 29.63, 84.77, 89.53, 63.56, 125.84, 35.8, 92.01, 15.26, 83.0, 30.76, 59.25, 6.29, 34.43, 33.28, 62.53, 61.09, 95.55, 196.45, 27.62, 113.44, 63.2, 129.38, 94.13, 92.39, 78.32, 91.58, 60.28, 89.43, 19.21, 88.07, 16.92, 114.43, 1.85, 41.76, 18.49, 24.06, 14.87, 26.1, 62.6, 33.32, 47.49, 87.78, 43.66, 89.01, 50.82, 137.19, 36.07, 45.04, 4.74, 17.27, 70.76, 34.06, 122.94, 115.74, 67.75, 22.31, 109.71, 58.98, 6.2, 11.94, 0.17, 44.87, 0.2, 13.79, 2.98, 45.03, 10.99, 29.79, 79.91, 29.46, 100.54, 66.28, 6.74, 68.25, 56.62, 70.73, 50.56, 58.69, 26.22, 0.2, 42.1, 2.29, 65.71, 5.29, 54.8, 0.74, 17.54, 1.47, 28.1, 38.62, 0.3, 4.99, 67.47, 18.73, 25.92, 125.97, 26.34, 60.35, 0.94, 52.67, 13.45, 15.84, 117.19, 92.53, 62.5, 43.79, 106.85, 16.62, 71.9, 2.93, 68.08, 71.72, 10.62, 4.19, 46.87, 24.12, 47.09, 42.94, 92.39, 26.66, 109.61, 13.34, 129.23, 34.47, 31.0, 3.22, 7.69, 42.03, 28.05, 149.01, 156.76, 92.83, 57.73, 3.86, 14.9, 0.0, 29.23, 0.03, 25.92, 3.87, 45.65, 1.09, 20.81, 3.66, 27.06, 28.97, 94.28, 12.82, 63.89, 134.81, 81.96, 10.38, 17.27, 47.6, 23.26, 11.64, 94.27, 71.8, 2.46, 33.86, 93.88, 44.6, 20.61, 80.47, 97.13, 47.26, 50.87, 56.86, 126.64, 84.4, 57.84, 167.2, 37.38, 118.34, 106.89] aa = ['ALA', 'SER', 'ALA', 'LEU', 'LYS', 'ASP', 'TYR', 'TYR', 'ALA', 'ILE', 'MET', 'GLY', 'VAL', 'LYS', 'PRO', 'THR', 'ASP', 'ASP', 'LEU', 'LYS', 'THR', 'ILE', 'LYS', 'THR', 'ALA', 'TYR', 'ARG', 'ARG', 'LEU', 'ALA', 'ARG', 'LYS', 'TYR', 'HIS', 'PRO', 'ASP', 'VAL', 'SER', 'LYS', 'GLU', 'PRO', 'ASP', 'ALA', 'GLU', 'ALA', 'ARG', 'PHE', 'LYS', 'GLU', 'VAL', 'ALA', 'GLU', 'ALA', 'TRP', 'GLU', 'VAL', 'LEU', 'SER', 'ASP', 'GLU', 'GLN', 'ARG', 'ARG', 'ALA', 'GLU', 'TYR', 'ASP', 'GLN', 'MET', 'TRP', 'GLN', 'HIS', 'ARG', 'ASN', 'ASP', 'PRO', 'GLN', 'PHE', 'ASN', 'ARG', 'GLN', 'PHE', 'HIS', 'HIS', 'GLY', 'ASP', 'GLY', 'GLN', 'SER', 'PHE', 'ASN', 'ALA', 'GLU', 'ASP', 'PHE', 'ASP', 'ASP', 'ILE', 'PHE', 'SER', 'SER', 'ILE', 'PHE', 'GLY', 'GLN', 'HIS', 'ALA', 'ARG', 'GLN', 'SER', 'ARG', 'GLN', 'ARG', 'PRO', 'ALA', 'THR', 'ARG', 'GLY', 'HIS', 'ASP', 'ILE', 'GLU', 'ILE', 'GLU', 'VAL', 'ALA', 'VAL', 'PHE', 'LEU', 'GLU', 'GLU', 'THR', 'LEU', 'THR', 'GLU', 'HIS', 'LYS', 'ARG', 'THR', 'ILE', 'SER', 'TYR', 'ASN', 'LEU', 'PRO', 'VAL', 'TYR', 'ASN', 'ALA', 'PHE', 'GLY', 'MET', 'ILE', 'GLU', 'GLN', 'GLU', 'ILE', 'PRO', 'LYS', 'THR', 'LEU', 'ASN', 'VAL', 'LYS', 'ILE', 'PRO', 'ALA', 'GLY', 'VAL', 'GLY', 'ASN', 'GLY', 'GLN', 'ARG', 'ILE', 'ARG', 'LEU', 'LYS', 'GLY', 'GLN', 'GLY', 'THR', 'PRO', 'GLY', 'GLU', 'ASN', 'GLY', 'GLY', 'PRO', 'ASN', 'GLY', 'ASP', 'LEU', 'TRP', 'LEU', 'VAL', 'ILE', 'HIS', 'ILE', 'ALA', 'PRO', 'HIS', 'PRO', 'LEU', 'PHE', 'ASP', 'ILE', 'VAL', 'GLY', 'GLN', 'ASP', 'LEU', 'GLU', 'ILE', 'VAL', 'VAL', 'PRO', 'VAL', 'SER', 'PRO', 'TRP', 'GLU', 'ALA', 'ALA', 'LEU', 'GLY', 'ALA', 'LYS', 'VAL', 'THR', 'VAL', 'PRO', 'THR', 'LEU', 'LYS', 'GLU', 'SER', 'ILE', 'LEU', 'LEU', 'THR', 'ILE', 'PRO', 'PRO', 'GLY', 'SER', 'GLN', 'ALA', 'GLY', 'GLN', 'ARG', 'LEU', 'ARG', 'VAL', 'LYS', 'GLY', 'LYS', 'GLY', 'LEU', 'VAL', 'SER', 'LYS', 'LYS', 'GLN', 'THR', 'GLY', 'ASP', 'LEU', 'TYR', 'ALA', 'VAL', 'LEU', 'LYS', 'ILE', 'VAL', 'MET', 'PRO', 'PRO', 'LYS', 'PRO', 'ASP', 'GLU', 'ASN', 'THR', 'ALA', 'ALA', 'LEU', 'TRP', 'GLN', 'GLN', 'LEU', 'ALA', 'ASP', 'ALA', 'GLN', 'SER', 'SER', 'PHE', 'ASP', 'PRO', 'ARG', 'LYS', 'ASP', 'TRP', 'GLY', 'LYS', 'ALA', 'ALA', 'SER', 'ALA', 'LEU', 'LYS', 'ASP', 'TYR', 'TYR', 'ALA', 'ILE', 'MET', 'GLY', 'VAL', 'LYS', 'PRO', 'THR', 'ASP', 'ASP', 'LEU', 'LYS', 'THR', 'ILE', 'LYS', 'THR', 'ALA', 'TYR', 'ARG', 'ARG', 'LEU', 'ALA', 'ARG', 'LYS', 'TYR', 'HIS', 'PRO', 'ASP', 'VAL', 'SER', 'LYS', 'GLU', 'PRO', 'ASP', 'ALA', 'GLU', 'ALA', 'ARG', 'PHE', 'LYS', 'GLU', 'VAL', 'ALA', 'GLU', 'ALA', 'TRP', 'GLU', 'VAL', 'LEU', 'SER', 'ASP', 'GLU', 'GLN', 'ARG', 'ARG', 'ALA', 'GLU', 'TYR', 'ASP', 'GLN', 'MET', 'TRP', 'GLN', 'HIS', 'ARG', 'ASN', 'ASP', 'PRO', 'GLN', 'PHE', 'ASN', 'ARG', 'GLN', 'PHE', 'HIS', 'HIS', 'GLY', 'ASP', 'GLY', 'GLN', 'SER', 'PHE', 'ASN', 'ALA', 'GLU', 'ASP', 'PHE', 'ASP', 'ASP', 'ILE', 'PHE', 'SER', 'SER', 'ILE', 'PHE', 'GLY', 'GLN', 'HIS', 'ALA', 'ARG', 'GLN', 'SER', 'ARG', 'GLN', 'ARG', 'PRO', 'ALA', 'THR', 'ARG', 'GLY', 'HIS', 'ASP', 'ILE', 'GLU', 'ILE', 'GLU', 'VAL', 'ALA', 'VAL', 'PHE', 'LEU', 'GLU', 'GLU', 'THR', 'LEU', 'THR', 'GLU', 'HIS', 'LYS', 'ARG', 'THR', 'ILE', 'SER', 'TYR', 'ASN', 'LEU', 'PRO', 'VAL', 'TYR', 'ASN', 'ALA', 'PHE', 'GLY', 'MET', 'ILE', 'GLU', 'GLN', 'GLU', 'ILE', 'PRO', 'LYS', 'THR', 'LEU', 'ASN', 'VAL', 'LYS', 'ILE', 'PRO', 'ALA', 'GLY', 'VAL', 'GLY', 'ASN', 'GLY', 'GLN', 'ARG', 'ILE', 'ARG', 'LEU', 'LYS', 'GLY', 'GLN', 'GLY', 'THR', 'PRO', 'GLY', 'GLU', 'ASN', 'GLY', 'GLY', 'PRO', 'ASN', 'GLY', 'ASP', 'LEU', 'TRP', 'LEU', 'VAL', 'ILE', 'HIS', 'ILE', 'ALA', 'PRO', 'HIS', 'PRO', 'LEU', 'PHE', 'ASP', 'ILE', 'VAL', 'GLY', 'GLN', 'ASP', 'LEU', 'GLU', 'ILE', 'VAL', 'VAL', 'PRO', 'VAL', 'SER', 'PRO', 'TRP', 'GLU', 'ALA', 'ALA', 'LEU', 'GLY', 'ALA', 'LYS', 'VAL', 'THR', 'VAL', 'PRO', 'THR', 'LEU', 'LYS', 'GLU', 'SER', 'ILE', 'LEU', 'LEU', 'THR', 'ILE', 'PRO', 'PRO', 'GLY', 'SER', 'GLN', 'ALA', 'GLY', 'GLN', 'ARG', 'LEU', 'ARG', 'VAL', 'LYS', 'GLY', 'LYS', 'GLY', 'LEU', 'VAL', 'SER', 'LYS', 'LYS', 'GLN', 'THR', 'GLY', 'ASP', 'LEU', 'TYR', 'ALA', 'VAL', 'LEU', 'LYS', 'ILE', 'VAL', 'MET', 'PRO', 'PRO', 'LYS', 'PRO', 'ASP', 'GLU', 'ASN', 'THR', 'ALA', 'ALA', 'LEU', 'TRP', 'GLN', 'GLN', 'LEU', 'ALA', 'ASP', 'ALA', 'GLN', 'SER', 'SER', 'PHE', 'ASP', 'PRO', 'ARG', 'LYS', 'ASP', 'TRP', 'GLY', 'LYS', 'ALA'] colours = ['#FFFFFF','#CCFFFF','#99FFFF','#00CCFF','#0099FF','#0066FF','#0033FF','#0000CC','#000066'] high_val = max(avg) boundaries = np.linspace(0, np.max(avg), 10)[1:] rows = math.ceil(len(aa)/40.0) list_numbers = set(range(1, len(aa), 10)) fig = plt.figure(figsize=(10, 10), facecolor="white") ax = plt.subplot(111) ax.set_axis_off() color_index = np.searchsorted(boundaries, avg) x, y = 0, -1 for i in xrange(len(aa)): rect = plt.Rectangle((x, y), 1, 1, facecolor=colours[color_index[i]]) ax.add_artist(rect) ax.text(x+0.5, y+0.5, aa_key[aa[i]], ha="center", va="center", color="white" if color_index[i]==8 else "black") if i+1 in list_numbers: ax.text(x+0.5, y+1.6, "%d" % (i+1), ha="center", va="center") x += 1 if x == 40: y -= 3.0 x = 0 ax.set_xlim(-1, 41) ax.set_ylim(y-3, 3) a = np.linspace(0, high_val, 9) a = np.vstack((a,a)) cmap = mpl.colors.ListedColormap(['#FFFFFF','#CCFFFF','#99FFFF','#00CCFF','#0099FF','#0066FF','#0033FF','#0000CC','#000066']) im = imshow(a, aspect='auto', cmap=plt.get_cmap(cmap), origin='lower') im.set_visible(False) colorbar() plt.show()
结果是:
Instead of creating so many axes, you can add Rectangles to one axes, here is the code:
import math import numpy as np from pylab import * from matplotlib import mpl import matplotlib.pyplot as plt aa_key = {'ARG':'R', 'HIS':'H', 'LYS':'K', 'ASP':'D', 'GLU':'E', 'SER':'S', 'THR':'T', 'ASN':'N', 'GLN':'Q', 'CYS':'C', 'SEC':'C', 'GLY':'G', 'PRO':'P', 'ALA':'A', 'VAL':'V', 'ILE':'I', 'LEU':'L', 'MET':'M', 'PHE':'F', 'TYR':'Y', 'TRP':'W'} avg = [93.89, 69.34, 62.14, 33.65, 59.14, 41.73, 22.27, 0.81, 43.57, 5.12, 0.06, 32.58, 18.07, 77.43, 38.97, 83.38, 31.26, 75.33, 68.95, 142.75, 19.71, 0.16, 57.19, 59.74, 0.2, 27.25, 125.09, 116.5, 7.9, 7.49, 131.04, 64.21, 18.45, 62.13, 51.68, 96.93, 80.49, 35.64, 153.67, 28.97, 117.85, 67.19, 4.77, 86.98, 40.65, 56.09, 28.04, 97.77, 25.68, 0.0, 21.36, 47.02, 0.0, 37.21, 66.44, 4.63, 5.51, 43.05, 42.99, 125.41, 100.06, 91.02, 59.16, 32.02, 63.1, 0.58, 5.66, 54.43, 40.13, 67.42, 74.4, 76.45, 105.18, 68.41, 75.86, 74.01, 103.7, 117.79, 90.08, 139.55, 89.3, 136.44, 104.58, 105.68, 42.46, 91.42, 35.22, 93.86, 48.37, 120.37, 66.23, 50.54, 64.71, 41.54, 71.54, 49.17, 60.97, 85.65, 111.92, 51.99, 53.2, 113.7, 126.62, 38.5, 102.27, 116.62, 60.34, 131.57, 78.68, 46.47, 120.32, 90.04, 122.09, 126.92, 72.98, 65.15, 82.23, 20.38, 50.95, 39.32, 20.96, 75.01, 14.44, 88.34, 1.94, 51.8, 2.06, 90.28, 3.36, 64.76, 31.06, 0.51, 29.15, 87.07, 84.27, 65.24, 128.51, 38.39, 94.71, 16.21, 85.0, 31.2, 59.57, 6.18, 33.06, 33.73, 60.79, 61.36, 95.3, 197.35, 26.78, 112.83, 64.85, 131.5, 97.56, 94.93, 79.31, 95.74, 60.12, 89.47, 19.11, 87.26, 16.72, 110.99, 1.96, 33.8, 18.2, 21.86, 13.52, 24.27, 62.86, 31.47, 39.23, 80.43, 38.0, 85.39, 48.59, 136.98, 35.9, 45.6, 4.45, 17.14, 70.42, 34.51, 124.57, 116.16, 66.84, 23.42, 109.71, 58.46, 6.64, 11.81, 0.2, 43.98, 0.2, 15.75, 2.59, 47.25, 11.7, 30.86, 81.7, 30.13, 104.47, 69.54, 7.08, 67.92, 56.72, 63.09, 47.24, 45.87, 23.58, 0.05, 41.5, 3.43, 72.93, 5.42, 60.21, 1.23, 20.09, 1.81, 39.74, 47.41, 0.08, 3.54, 67.77, 19.85, 26.79, 124.72, 33.09, 78.66, 0.99, 55.68, 13.74, 16.07, 119.38, 93.24, 64.98, 43.75, 107.65, 14.95, 69.54, 3.25, 68.41, 56.43, 16.03, 4.43, 61.51, 24.86, 46.78, 43.31, 87.59, 24.02, 108.74, 15.55, 128.87, 35.05, 31.09, 3.57, 6.79, 40.17, 23.66, 116.78, 131.23, 81.16, 58.18, 3.68, 13.18, 0.0, 28.06, 0.0, 25.68, 3.37, 51.95, 1.15, 24.84, 4.6, 22.33, 33.47, 108.62, 16.1, 49.53, 135.2, 71.43, 5.79, 15.91, 48.61, 13.73, 9.4, 87.11, 63.19, 7.91, 21.25, 94.15, 45.86, 26.36, 80.05, 105.57, 52.3, 51.13, 56.83, 113.51, 92.92, 67.0, 148.45, 35.13, 114.23, 108.02, 94.94, 68.44, 62.22, 31.15, 60.04, 38.47, 22.3, 0.78, 39.35, 4.7, 0.09, 28.1, 17.58, 73.04, 37.55, 83.03, 31.78, 75.43, 69.08, 142.08, 19.87, 0.12, 57.8, 56.07, 0.33, 27.34, 124.44, 98.74, 6.57, 7.63, 126.51, 54.26, 16.13, 62.16, 51.03, 96.26, 78.31, 33.71, 142.46, 25.05, 101.93, 59.35, 5.0, 82.65, 36.26, 52.16, 27.37, 96.5, 24.5, 0.0, 21.25, 46.08, 0.0, 37.11, 62.57, 4.14, 5.19, 40.52, 38.78, 122.3, 97.2, 87.08, 57.43, 31.35, 61.98, 0.47, 5.45, 52.48, 41.73, 61.9, 73.38, 76.32, 104.43, 69.92, 78.78, 76.66, 107.05, 121.75, 91.06, 137.56, 91.2, 135.56, 107.81, 103.62, 41.7, 91.29, 35.24, 95.06, 48.72, 120.38, 65.02, 51.42, 63.83, 42.03, 72.09, 46.49, 58.56, 88.6, 111.84, 51.98, 53.78, 113.33, 126.69, 39.08, 101.86, 118.26, 59.34, 131.83, 79.09, 46.05, 119.72, 88.5, 121.97, 124.3, 72.72, 64.42, 83.82, 21.05, 52.81, 39.94, 21.72, 74.56, 12.92, 83.91, 1.73, 50.29, 1.86, 90.79, 3.81, 63.99, 31.36, 0.57, 29.63, 84.77, 89.53, 63.56, 125.84, 35.8, 92.01, 15.26, 83.0, 30.76, 59.25, 6.29, 34.43, 33.28, 62.53, 61.09, 95.55, 196.45, 27.62, 113.44, 63.2, 129.38, 94.13, 92.39, 78.32, 91.58, 60.28, 89.43, 19.21, 88.07, 16.92, 114.43, 1.85, 41.76, 18.49, 24.06, 14.87, 26.1, 62.6, 33.32, 47.49, 87.78, 43.66, 89.01, 50.82, 137.19, 36.07, 45.04, 4.74, 17.27, 70.76, 34.06, 122.94, 115.74, 67.75, 22.31, 109.71, 58.98, 6.2, 11.94, 0.17, 44.87, 0.2, 13.79, 2.98, 45.03, 10.99, 29.79, 79.91, 29.46, 100.54, 66.28, 6.74, 68.25, 56.62, 70.73, 50.56, 58.69, 26.22, 0.2, 42.1, 2.29, 65.71, 5.29, 54.8, 0.74, 17.54, 1.47, 28.1, 38.62, 0.3, 4.99, 67.47, 18.73, 25.92, 125.97, 26.34, 60.35, 0.94, 52.67, 13.45, 15.84, 117.19, 92.53, 62.5, 43.79, 106.85, 16.62, 71.9, 2.93, 68.08, 71.72, 10.62, 4.19, 46.87, 24.12, 47.09, 42.94, 92.39, 26.66, 109.61, 13.34, 129.23, 34.47, 31.0, 3.22, 7.69, 42.03, 28.05, 149.01, 156.76, 92.83, 57.73, 3.86, 14.9, 0.0, 29.23, 0.03, 25.92, 3.87, 45.65, 1.09, 20.81, 3.66, 27.06, 28.97, 94.28, 12.82, 63.89, 134.81, 81.96, 10.38, 17.27, 47.6, 23.26, 11.64, 94.27, 71.8, 2.46, 33.86, 93.88, 44.6, 20.61, 80.47, 97.13, 47.26, 50.87, 56.86, 126.64, 84.4, 57.84, 167.2, 37.38, 118.34, 106.89] aa = ['ALA', 'SER', 'ALA', 'LEU', 'LYS', 'ASP', 'TYR', 'TYR', 'ALA', 'ILE', 'MET', 'GLY', 'VAL', 'LYS', 'PRO', 'THR', 'ASP', 'ASP', 'LEU', 'LYS', 'THR', 'ILE', 'LYS', 'THR', 'ALA', 'TYR', 'ARG', 'ARG', 'LEU', 'ALA', 'ARG', 'LYS', 'TYR', 'HIS', 'PRO', 'ASP', 'VAL', 'SER', 'LYS', 'GLU', 'PRO', 'ASP', 'ALA', 'GLU', 'ALA', 'ARG', 'PHE', 'LYS', 'GLU', 'VAL', 'ALA', 'GLU', 'ALA', 'TRP', 'GLU', 'VAL', 'LEU', 'SER', 'ASP', 'GLU', 'GLN', 'ARG', 'ARG', 'ALA', 'GLU', 'TYR', 'ASP', 'GLN', 'MET', 'TRP', 'GLN', 'HIS', 'ARG', 'ASN', 'ASP', 'PRO', 'GLN', 'PHE', 'ASN', 'ARG', 'GLN', 'PHE', 'HIS', 'HIS', 'GLY', 'ASP', 'GLY', 'GLN', 'SER', 'PHE', 'ASN', 'ALA', 'GLU', 'ASP', 'PHE', 'ASP', 'ASP', 'ILE', 'PHE', 'SER', 'SER', 'ILE', 'PHE', 'GLY', 'GLN', 'HIS', 'ALA', 'ARG', 'GLN', 'SER', 'ARG', 'GLN', 'ARG', 'PRO', 'ALA', 'THR', 'ARG', 'GLY', 'HIS', 'ASP', 'ILE', 'GLU', 'ILE', 'GLU', 'VAL', 'ALA', 'VAL', 'PHE', 'LEU', 'GLU', 'GLU', 'THR', 'LEU', 'THR', 'GLU', 'HIS', 'LYS', 'ARG', 'THR', 'ILE', 'SER', 'TYR', 'ASN', 'LEU', 'PRO', 'VAL', 'TYR', 'ASN', 'ALA', 'PHE', 'GLY', 'MET', 'ILE', 'GLU', 'GLN', 'GLU', 'ILE', 'PRO', 'LYS', 'THR', 'LEU', 'ASN', 'VAL', 'LYS', 'ILE', 'PRO', 'ALA', 'GLY', 'VAL', 'GLY', 'ASN', 'GLY', 'GLN', 'ARG', 'ILE', 'ARG', 'LEU', 'LYS', 'GLY', 'GLN', 'GLY', 'THR', 'PRO', 'GLY', 'GLU', 'ASN', 'GLY', 'GLY', 'PRO', 'ASN', 'GLY', 'ASP', 'LEU', 'TRP', 'LEU', 'VAL', 'ILE', 'HIS', 'ILE', 'ALA', 'PRO', 'HIS', 'PRO', 'LEU', 'PHE', 'ASP', 'ILE', 'VAL', 'GLY', 'GLN', 'ASP', 'LEU', 'GLU', 'ILE', 'VAL', 'VAL', 'PRO', 'VAL', 'SER', 'PRO', 'TRP', 'GLU', 'ALA', 'ALA', 'LEU', 'GLY', 'ALA', 'LYS', 'VAL', 'THR', 'VAL', 'PRO', 'THR', 'LEU', 'LYS', 'GLU', 'SER', 'ILE', 'LEU', 'LEU', 'THR', 'ILE', 'PRO', 'PRO', 'GLY', 'SER', 'GLN', 'ALA', 'GLY', 'GLN', 'ARG', 'LEU', 'ARG', 'VAL', 'LYS', 'GLY', 'LYS', 'GLY', 'LEU', 'VAL', 'SER', 'LYS', 'LYS', 'GLN', 'THR', 'GLY', 'ASP', 'LEU', 'TYR', 'ALA', 'VAL', 'LEU', 'LYS', 'ILE', 'VAL', 'MET', 'PRO', 'PRO', 'LYS', 'PRO', 'ASP', 'GLU', 'ASN', 'THR', 'ALA', 'ALA', 'LEU', 'TRP', 'GLN', 'GLN', 'LEU', 'ALA', 'ASP', 'ALA', 'GLN', 'SER', 'SER', 'PHE', 'ASP', 'PRO', 'ARG', 'LYS', 'ASP', 'TRP', 'GLY', 'LYS', 'ALA', 'ALA', 'SER', 'ALA', 'LEU', 'LYS', 'ASP', 'TYR', 'TYR', 'ALA', 'ILE', 'MET', 'GLY', 'VAL', 'LYS', 'PRO', 'THR', 'ASP', 'ASP', 'LEU', 'LYS', 'THR', 'ILE', 'LYS', 'THR', 'ALA', 'TYR', 'ARG', 'ARG', 'LEU', 'ALA', 'ARG', 'LYS', 'TYR', 'HIS', 'PRO', 'ASP', 'VAL', 'SER', 'LYS', 'GLU', 'PRO', 'ASP', 'ALA', 'GLU', 'ALA', 'ARG', 'PHE', 'LYS', 'GLU', 'VAL', 'ALA', 'GLU', 'ALA', 'TRP', 'GLU', 'VAL', 'LEU', 'SER', 'ASP', 'GLU', 'GLN', 'ARG', 'ARG', 'ALA', 'GLU', 'TYR', 'ASP', 'GLN', 'MET', 'TRP', 'GLN', 'HIS', 'ARG', 'ASN', 'ASP', 'PRO', 'GLN', 'PHE', 'ASN', 'ARG', 'GLN', 'PHE', 'HIS', 'HIS', 'GLY', 'ASP', 'GLY', 'GLN', 'SER', 'PHE', 'ASN', 'ALA', 'GLU', 'ASP', 'PHE', 'ASP', 'ASP', 'ILE', 'PHE', 'SER', 'SER', 'ILE', 'PHE', 'GLY', 'GLN', 'HIS', 'ALA', 'ARG', 'GLN', 'SER', 'ARG', 'GLN', 'ARG', 'PRO', 'ALA', 'THR', 'ARG', 'GLY', 'HIS', 'ASP', 'ILE', 'GLU', 'ILE', 'GLU', 'VAL', 'ALA', 'VAL', 'PHE', 'LEU', 'GLU', 'GLU', 'THR', 'LEU', 'THR', 'GLU', 'HIS', 'LYS', 'ARG', 'THR', 'ILE', 'SER', 'TYR', 'ASN', 'LEU', 'PRO', 'VAL', 'TYR', 'ASN', 'ALA', 'PHE', 'GLY', 'MET', 'ILE', 'GLU', 'GLN', 'GLU', 'ILE', 'PRO', 'LYS', 'THR', 'LEU', 'ASN', 'VAL', 'LYS', 'ILE', 'PRO', 'ALA', 'GLY', 'VAL', 'GLY', 'ASN', 'GLY', 'GLN', 'ARG', 'ILE', 'ARG', 'LEU', 'LYS', 'GLY', 'GLN', 'GLY', 'THR', 'PRO', 'GLY', 'GLU', 'ASN', 'GLY', 'GLY', 'PRO', 'ASN', 'GLY', 'ASP', 'LEU', 'TRP', 'LEU', 'VAL', 'ILE', 'HIS', 'ILE', 'ALA', 'PRO', 'HIS', 'PRO', 'LEU', 'PHE', 'ASP', 'ILE', 'VAL', 'GLY', 'GLN', 'ASP', 'LEU', 'GLU', 'ILE', 'VAL', 'VAL', 'PRO', 'VAL', 'SER', 'PRO', 'TRP', 'GLU', 'ALA', 'ALA', 'LEU', 'GLY', 'ALA', 'LYS', 'VAL', 'THR', 'VAL', 'PRO', 'THR', 'LEU', 'LYS', 'GLU', 'SER', 'ILE', 'LEU', 'LEU', 'THR', 'ILE', 'PRO', 'PRO', 'GLY', 'SER', 'GLN', 'ALA', 'GLY', 'GLN', 'ARG', 'LEU', 'ARG', 'VAL', 'LYS', 'GLY', 'LYS', 'GLY', 'LEU', 'VAL', 'SER', 'LYS', 'LYS', 'GLN', 'THR', 'GLY', 'ASP', 'LEU', 'TYR', 'ALA', 'VAL', 'LEU', 'LYS', 'ILE', 'VAL', 'MET', 'PRO', 'PRO', 'LYS', 'PRO', 'ASP', 'GLU', 'ASN', 'THR', 'ALA', 'ALA', 'LEU', 'TRP', 'GLN', 'GLN', 'LEU', 'ALA', 'ASP', 'ALA', 'GLN', 'SER', 'SER', 'PHE', 'ASP', 'PRO', 'ARG', 'LYS', 'ASP', 'TRP', 'GLY', 'LYS', 'ALA'] colours = ['#FFFFFF','#CCFFFF','#99FFFF','#00CCFF','#0099FF','#0066FF','#0033FF','#0000CC','#000066'] high_val = max(avg) boundaries = np.linspace(0, np.max(avg), 10)[1:] rows = math.ceil(len(aa)/40.0) list_numbers = set(range(1, len(aa), 10)) fig = plt.figure(figsize=(10, 10), facecolor="white") ax = plt.subplot(111) ax.set_axis_off() color_index = np.searchsorted(boundaries, avg) x, y = 0, -1 for i in xrange(len(aa)): rect = plt.Rectangle((x, y), 1, 1, facecolor=colours[color_index[i]]) ax.add_artist(rect) ax.text(x+0.5, y+0.5, aa_key[aa[i]], ha="center", va="center", color="white" if color_index[i]==8 else "black") if i+1 in list_numbers: ax.text(x+0.5, y+1.6, "%d" % (i+1), ha="center", va="center") x += 1 if x == 40: y -= 3.0 x = 0 ax.set_xlim(-1, 41) ax.set_ylim(y-3, 3) a = np.linspace(0, high_val, 9) a = np.vstack((a,a)) cmap = mpl.colors.ListedColormap(['#FFFFFF','#CCFFFF','#99FFFF','#00CCFF','#0099FF','#0066FF','#0033FF','#0000CC','#000066']) im = imshow(a, aspect='auto', cmap=plt.get_cmap(cmap), origin='lower') im.set_visible(False) colorbar() plt.show()
The result is:
相关问答
更多-
如果您希望颜色条中的颜色对应于两个等高线图中的相同值,则您不仅需要控制颜色条,还需要控制等高线图中的级别。 也就是说,为了比较图之间的相同水平,图应该具有相同的轮廓水平。 这很容易做到。 这是该情节的一个例子: 有两种方法:1)提前计算水平; 2)使用一个图中的水平来设置另一个图中的水平。 我会做第二个,因为从这里应该清楚如何做第一个(例如,使用levels = numpy.linspace(v_min, vmax, 10) ,但是,要清楚,我没有使用这个在这里,但我要让mpl计算水平)。 首先,我在这里也 ...
-
你可以通过切片更优雅地做到这一点。 一个可能更好的解决方案是解交织您的数据。 IDs = ["1","A","2","B","3","C","4","D","5","E"] N = len(IDs) fig = plt.figure() ax1 = fig.add_subplot(1,1,1) set_count = 2 set_label = np.vstack([j*ones(len(IDs)//set_count) for j in range(set_count)]).T.ravel() pr ...
-
使用ListedColormap和BoundaryNorm : import numpy as np import matplotlib as mpl from matplotlib import pyplot data = np.floor(np.random.random((10,10)) * 6) cmap = mpl.colors.ListedColormap(['w', 'b', 'g', 'y', '#ff8c00', 'r']) norm = mpl.colors.BoundaryNorm([ ...
-
您可以将矩形添加到一个轴,而不是创建这么多轴,这里是代码: import math import numpy as np from pylab import * from matplotlib import mpl import matplotlib.pyplot as plt aa_key = {'ARG':'R', 'HIS':'H', 'LYS':'K', 'ASP':'D', 'GLU':'E', 'SER':'S', 'THR':'T', 'ASN':'N', 'GLN':'Q', 'CYS' ...
-
从matplotlib版本1.5.3的colormaps页面可以看出 , Set1映射如下所示: 可以看出,在绿色和紫色之间以及在色彩地图的最远端有一些灰色。 所以你得到的阴谋预计这个色彩地图。 如果使用新的Set1很重要,您可能需要升级matplotlib,否则您可能只想选择不同的颜色映射。 Seen from the colormaps page of matplotlib version 1.5.3, the Set1 colormap looks like this: As can be seen ...
-
class Diagram(Colors): def __init__(self, **kwargs): super(Diagram, self).__init__() self.plt = plt self.plt.figure(figsize=(15,15)) def create(self, **kwargs): pass def __del__(self): self.plt = None ...
-
条形宽度相同! 他们看起来不一样的原因是因为你使用这一行: index = np.arange(n_groups) 这将改变您的x值,从而改变x轴的比例。 要抵消这种效果,您可以更改X轴的限制,或者使条形宽度取决于分数,例如,如果宽度为0.35适用于10分,那么如果您将分数加倍,那么条宽的一半(反之亦然)。 您可以看到更改轴限制或条宽度如何给出看起来宽度相同的条形: import numpy as np import matplotlib.pyplot as plt # make some dummy ...
-
matplotlib和numpy - 直方图条颜色和标准化(matplotlib and numpy - histogram bar color and normalization)[2022-06-11]
0)您的代码非常好(并且有用!)记录,但是对于您来说,减少到最小的工作示例将非常有帮助。 1) fracs中的fracs数组不包括1e2的下限。 2)不同LogNorm颜色映射的范围在整个代码中都在变化(例如[1,8]与[2,9])。 将这些参数设置为变量,并根据需要传递这些变量。 3)创建一个标量可映射对象matplotlib.cm.ScalarMappable对象,使用to_rgba方法将标量值直接转换为颜色。 希望其中一个有帮助! 0) Your code is very nicely (and he ... -
根据值在matplotlib中更改3D条形图中的条形颜色(Change bar color in a 3D bar plot in matplotlib based on value)[2023-06-28]
从bar3d的文档中可以看出 , color可以是一个数组,每个条带有一种颜色。 这使得在一次调用bar3d时很容易为所有条形图着色; 我们只需要将data数组转换为可以使用色彩映射完成的颜色数组, colors = plt.cm.jet(data.flatten()/float(data.max())) (注意,色图的取值介于0和1之间,因此我们需要将值标准化为此范围。) 完整的例子: import matplotlib.pyplot as plt from mpl_toolkits.mplot3d i ... -
Matplotlib条形图与不同的颜色条和条显示值(Matplotlib Bar chart with different color bars and bar showing values)[2022-06-05]
import matplotlib.pylab as plt import numpy as np max_tweets = 19 p = 20 n = 30 datas = [{'label':'tweets', 'color': 'r', 'height': max_tweets}, {'label':'positivity', 'color': 'g', 'height': p}, {'label':'nagitivity', 'color': 'b', 'height': n}] ...