python - 使用 MatPlotLib (Python) 向我的堆叠条形图添加文本

标签 python matplotlib

我在我的栏中放置垂直文本的过程中遇到了困难。 我的情节是这样的:http://i.imgur.com/pTcElMq.jpg?1 我的意图是将密码子的文本放在每个条的中间。 我在整个互联网上搜索过,没有任何解决方案。

有人对这个问题有想法吗?

我的 Python 代码如下所示:

def Graph_Codons(Codons):
print(Codons)
N = 21
X = [Codons["TTA"],Codons["TCT"],Codons["CGT"],Codons["GGT"],Codons["GTT"],
     Codons["CCT"],Codons["ACT"],Codons["GCT"],Codons["ATT"],Codons["TTT"],
     Codons["TAT"],Codons["CAT"],Codons["CAA"],Codons["AAT"],Codons["AAA"],
     Codons["GAT"],Codons["GAA"],Codons["TGT"],Codons["TGG"],Codons["TAA"],
     Codons["ATG"]]
X1 = [Codons["TTG"],Codons["TCC"],Codons["CGC"],Codons["GGC"],Codons["GTC"],
      Codons["CCC"],Codons["ACC"],Codons["GCC"],Codons["ATC"],Codons["TTC"],
      Codons["TAC"],Codons["CAC"],Codons["CAG"],Codons["AAC"],Codons["AAG"],
      Codons["GAC"],Codons["GAG"],Codons["TGC"],0,Codons["TAG"],0]
X2 = [Codons["CTT"],Codons["TCA"],Codons["CGA"],Codons["GGA"],Codons["GTA"],
      Codons["CCA"],Codons["ACA"],Codons["GCA"],Codons["ATA"],0,0,0,0,0,0,0,
      0,0,0,Codons["TGA"],0] 
X3 = [Codons["CTC"],Codons["TCG"],Codons["CGG"],Codons["GGG"],Codons["GTG"],
      Codons["CCG"],Codons["ACG"],Codons["GCG"],0,0,0,0,0,0,0,0,0,0,0,0,0]
X4 = [Codons["CTA"],Codons["AGT"],Codons["AGA"],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]    
X5 = [Codons["CTG"],Codons["AGC"],Codons["AGG"],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]

BotX2 = [X[0]+X1[0],X[1]+X1[1],X[2]+X1[2],X[3]+X1[3],X[4]+X1[4],X[5]+X1[5],
         X[6]+X1[6],X[7]+X1[7],X[8]+X1[8],X[9]+X1[9],X[10]+X1[10],X[11]+X1[11],
         X[12]+X1[12],X[13]+X1[13],X[14]+X1[14],X[15]+X1[15],X[16]+X1[16],
         X[17]+X1[17],X[18]+X1[18],X[19]+X1[19],X[20]+X1[20]]
BotX3 = [BotX2[0]+X2[0],BotX2[1]+X2[1],BotX2[2]+X2[2],BotX2[3]+X2[3],BotX2[4]+X2[4],
         BotX2[5]+X2[5],BotX2[6]+X2[6],BotX2[7]+X2[7],BotX2[8]+X2[8],BotX2[9]+X2[9],
         BotX2[10]+X2[10],BotX2[11]+X2[11],BotX2[12]+X2[12],BotX2[13]+X2[13],BotX2[14]+X2[14],
         BotX2[15]+X2[15],BotX2[16]+X2[16],BotX2[17]+X2[17],BotX2[18]+X2[18],BotX2[19]+X2[19],
         BotX2[20]+X2[20]]
BotX4 = [BotX3[0]+X3[0],BotX3[1]+X3[1],BotX3[2]+X3[2],BotX3[3]+X3[3],BotX3[4]+X3[4],
         BotX3[5]+X3[5],BotX3[6]+X3[6],BotX3[7]+X3[7],BotX3[8]+X3[8],BotX3[9]+X3[9],
         BotX3[10]+X3[10],BotX3[11]+X3[11],BotX3[12]+X3[12],BotX3[13]+X3[13],BotX3[14]+X3[14],
         BotX3[15]+X3[15],BotX3[16]+X3[16],BotX3[17]+X3[17],BotX3[18]+X3[18],BotX3[19]+X3[19],
         BotX3[20]+X3[20]]
BotX5 = [BotX4[0]+X4[0],BotX4[1]+X4[1],BotX4[2]+X4[2],BotX4[3]+X4[3],BotX4[4]+X4[4],
         BotX4[5]+X4[5],BotX4[6]+X4[6],BotX4[7]+X4[7],BotX4[8]+X4[8],BotX4[9]+X4[9],
         BotX4[10]+X4[10],BotX4[11]+X4[11],BotX4[12]+X4[12],BotX4[13]+X4[13],BotX4[14]+X4[14],
         BotX4[15]+X4[15],BotX4[16]+X4[16],BotX4[17]+X4[17],BotX4[18]+X4[18],BotX4[19]+X4[19],
         BotX4[20]+X4[20]]
ind = np.arange(N)
width = 0.7
p1 = plt.bar(ind, X,  width, color='r',)
p2 = plt.bar(ind, X1, width, color='y', bottom=X)
p3 = plt.bar(ind, X2, width, color='g', bottom=BotX2)
p4 = plt.bar(ind, X3, width, color='b', bottom=BotX3)
p5 = plt.bar(ind, X4, width, color='c', bottom=BotX4)
p6 = plt.bar(ind, X5, width, color='m', bottom=BotX5)
plt.xticks(ind+width/2., ('L', 'S', 'R', 'G', 'V', "P", "T", "A", "I", "F", "Y", "H", 
                          "Q", "N", "K", "D", "E", "C", "W", "STOP", "M" ) )




plt.show()

最佳答案

你试过position了吗?关键字?

plt.xticks(ind+width/2., 
           ('L', 'S', 'R', 'G', 'V', "P", "T", "A", "I", "F", "Y", "H", 
            "Q", "N", "K", "D", "E", "C", "W", "STOP", "M" ), 
           position=(0, 0.5))

那应该做你想做的。

关于python - 使用 MatPlotLib (Python) 向我的堆叠条形图添加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15253028/

相关文章:

python - 使补丁更大,用作 matplotlib 中的图例

python - 对直方图进行颜色编码

python - 通过多次调用一个函数来显示多个 Matplotlib 图形?

python - 调用 win32gui.GetPixel() 时出现不明确的 pywintypes.error

python - 为什么在 Python 中拟合函数时数组的索引可能会改变?

python - Pyramid 中请求之外的自定义事件

python - 使用 GCP 的 Airflow 。无法在 Airflow DAG 中 ping 外部 IP 地址

Python我有设备ID如何获取设备地址

python - 子图中的 ConciseDateFormatter

Python nosetest 不起作用,但直接运行它可以使用 matplotlib 的 @image_comparison