繁体   English   中英

如何增加子图中标题和情节之间的空间? 如何在子图中设置colobar tick的字体样式?

[英]how to increace the space between title and plot in a subplot? how to set the font style of colobar tick in the subplot?

我有两个问题,1,我想修改title和plot之间的空格; 2、我不知道如何在subplot中指定colobar tick的字体样式和大小; 它要求我发布有关我的问题的更多详细信息,我不知道我应该提供什么。 所以最好问一个问题。 为什么我添加保存的时候很慢:plt.savefig("Fig01.png",dpi=1000, bbox_inches='tight') 保存会花费很多时间,而且我无法获得pdf版本。 我不知道为什么。 而且我认为我的情节中的颜色不太好。 我在哪里可以找到更多颜色?

[![results][1]][1]




import matplotlib
import matplotlib.pyplot as plt
import numpy as np

a1,b1,c1 = np.loadtxt("00_porostiy.txt", unpack=True)
a2,b2,c2 = np.loadtxt("04_porostiy.txt", unpack=True)
a3,b3,c3 = np.loadtxt("04_00_porostiy.txt", unpack=True)

x1=a1.reshape(51,16)
y1=b1.reshape(51,16)
z1=c1.reshape(51,16)

x2=a2.reshape(51,16)
y2=b2.reshape(51,16)
z2=c2.reshape(51,16)

x3=a3.reshape(51,16)
y3=b3.reshape(51,16)
z3=c3.reshape(51,16)

fig, (ax1,ax2,ax3) = plt.subplots(figsize=(12,8), ncols=3)

cet1=ax1.contourf(x1, y1, z1, 100, cmap="jet")
#依据第一个txt文件里的数据绘图,平滑等级100,上色为jet
ax1.set_aspect(aspect=1)
#强制x与y按照1:1
ax1.set_title("Initial", fontname='Helvetica', fontsize = 12)
#设置顶部文字
cet1_bar=fig.colorbar(cet1, ax=ax1, aspect=60)
#在图1旁边绘制图例,图例调窄,调窄因子为80
cet1_bar.outline.set_visible(False)
#图例中黑色边框去掉
#ax1.tick_params(axis='both', which='major', labelsize=12)
ax1.set_xticks([0,2.5,5])
plt.setp(ax1.get_xticklabels(), fontsize=12, fontname="Times New Roman")
plt.setp(ax1.get_yticklabels(), fontsize=12, fontname="Times New Roman")

cet2=ax2.contourf(x2, y2, z2, 100, cmap="jet")
ax2.set_title("10 000 years", fontname='Helvetica', fontsize = 12)
cet2_bar=fig.colorbar(cet2, ax=ax2, aspect=60)
ax2.set_aspect(aspect=1)
cet2_bar.outline.set_visible(False)
ax2.set_xticks([0,2.5,5])
plt.setp(ax2.get_xticklabels(), fontsize=12, fontname="Times New Roman")
plt.setp(ax2.get_yticklabels(), fontsize=12, fontname="Times New Roman")

cet3=ax3.contourf(x3, y3, z3, 100, cmap="jet")
ax3.set_title("Change", fontname='Helvetica', fontweight='bold')
cet3_bar=fig.colorbar(cet3, ax=ax3, aspect=60) 
ax3.set_aspect(aspect=1)
cet3_bar.outline.set_visible(False)
ax3.set_xticks([0,2.5,5])
plt.setp(ax3.get_xticklabels(), fontsize=12, fontname="Times New Roman")
plt.setp(ax3.get_yticklabels(), fontsize=12, fontname="Times New Roman")
plt.subplots_adjust(bottom=0.1, wspace=0.01) #好像不起作用

plt.savefig("Fig01.png",dpi=1000, bbox_inches='tight')
plt.show()
  1. 在您的语句中,添加 'pad' 以增加 plot 和 title 之间的空间:

 ax1.set_title("Initial", fontname='Helvetica', fontsize = 12, pad=10)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM