我正在使用 healpy 的mollview()
函数(http://healpy.github.com/healpy/generated/healpy.visufunc.mollview.html)来绘制地图。我可以为颜色栏指定标题和标签,但我看不到如何更改字体大小。抱歉,如果这不是发布此问题的正确位置...我在 healpy 的项目页面上找不到任何地方可以询问它。我也不能将这个问题标记为“healpy”,因为我没有足够的声誉,而且以前没有人问过关于 healpy 的问题。
问问题
2504 次
3 回答
4
另一个迟到的回应:
不幸的是,这rcParams
对问题不起作用units
,因为这是函数中的一个text
对象hp.visufunc.mollview
。
import healpy as hp
import numpy as np
import matplotlib
fontsize = 20
d = np.arange(12*16**2)
hp.mollview(d, title='Hello', unit=r'T', notext=False, coord=['G','C'])
matplotlib.rcParams.update({'font.size':fontsize})
matplotlib.pyplot.show()
如您所见,单位和坐标系对应的文本对象不受影响,因为它们只是具有单独的文本处理系统。可以通过使用gcf()
函数来改变对象,即
import healpy as hp
import numpy as np
import matplotlib
fontsize = 20
d = np.arange(12*16**2)
hp.mollview(d, title='Hello', unit=r'T', notext=False, coord=['G','C'])
matplotlib.rcParams.update({'font.size':fontsize})
matplotlib.pyplot.show()
f = matplotlib.pyplot.gcf().get_children()
HpxAx = f[1]
CbAx = f[2]
coord_text_obj = HpxAx.get_children()[0]
coord_text_obj.set_fontsize(fontsize)
unit_text_obj = CbAx.get_children()[1]
unit_text_obj.set_fontsize(fontsize)
matplotlib.pyplot.show()
于 2016-08-05T20:22:58.450 回答
3
(由于我的声誉低,我无法评论 Warpig 的评论)
截至 2021 年 7 月,我IndexError: list index out of range
在拨打电话时也收到了HpxAx = f[1]
、healphy=1.11.0
和matplotlib==3.0.0
。我的解决方法是先创建图形,然后更新它:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
import healpy as hp
matplotlib.rcParams.update({'font.size': 18}) # fontsize for colorbar's values
fontsize = 22
cm.magma.set_under("w") # set background to white
# create figure
d = np.arange(12*16**2)
hp.mollview(d, title='Hello', unit=r'T', notext=False, coord=['G','C'], cmap=cm.magma)
f = plt.gcf() # accessing the current figure...
CbAx = f.get_children()[2] # ... then the colorbar's elements
coord_text_obj = CbAx.get_children()[1] # [1] corresponds to the particular label of the
# colorbar, i.e. "Field value" in this case
coord_text_obj.set_fontsize(fontsize)
plt.show()
请注意,在这种情况下,我只对将颜色条的标签字体大小增加到 22 并将颜色条的极端值增加到 18 感兴趣;“赤道”标签不受影响。如果要保存图,记得在plt.show()
.
于 2021-07-23T10:29:59.153 回答
1
对不起,迟到的答案,但如果有人从谷歌找到这个有用:
您可以更改绘图更新中所有文本的字体大小rcParams
:
import matplotlib
matplotlib.rcParams.update({'font.size': 22})
于 2012-10-27T18:34:00.677 回答