当前位置: 首页 > news >正文

网站流量监测wordpress整站无刷新

网站流量监测,wordpress整站无刷新,2345网址大全手机版,印刷行业网站建设Matplotlib实现Label及Title都在下方的最佳姿势 1. 问题背景2. 基本思想(可以不看)3. 方法封装4. 调用实例5. 总结6. 起飞 1. 问题背景 用python绘制下面这种图的时候,一般用xlable作为子图的标题,这是因为plt.title()方法绘制的…

Matplotlib实现Label及Title都在下方的最佳姿势

    • 1. 问题背景
    • 2. 基本思想(可以不看)
    • 3. 方法封装
    • 4. 调用实例
    • 5. 总结
    • 6. 起飞

1. 问题背景

python绘制下面这种图的时候,一般用xlable作为子图的标题,这是因为plt.title()方法绘制的标题在图的上方,与latex默认子图的标题不同。那么,在这种情况下,duplication ratio (%)该如何显示呢?
在这里插入图片描述
一个最简单的方案,在上图中,使用plt.text()绘制文字,利用labelpad把xlable向下移动。

plt.text(0.5, -0.27, "duplication ratio (%)", ..., fontsize = 6, transform=subfig.transAxes)
plt.xlable("(a) ...", lablepad = 8, fontsize = 8)

可是这种方法需要不断调整plt.text传入的参数,使得textxticksxlable中间(不然很丑),非常之麻烦。

2. 基本思想(可以不看)

可以计算xlabel的上坐标以及xticks的下坐标,然后就可自动计算二者中心坐标,就可以自动居中绘制text了。

3. 方法封装

首先封装一个方法,其中exp代表xticks的解释(例如:duplication ratio (%)),title通过xlable展示出来

def add_explanation_and_title(fig, ax: Axes, exp, title, title_pad=10, title_fontsize=8, exp_fontsize=6):lable_pad = title_padax.set_xlabel(title, fontsize=title_fontsize, labelpad=lable_pad) return [exp, title, title_pad, title_fontsize, exp_fontsize]

接着写一个关键函数用来计算xlablexticks的距离,获取相应距离的函数主要通过get_window_extent()方法获取

def adjust_explanation(fig, axes, context):exp, title, title_pad, title_fontsize, exp_fontsize = contextfig.savefig("./temp.pdf", bbox_inches='tight', pad_inches=0)midpoint = (0.5, 0.5)for idx, ax in enumerate(axes):xtick_label = ax.get_xticklabels()[0]label_bbox1 = xtick_label.get_window_extent()# print(label_bbox1)figure_pos1 = label_bbox1.transformed(ax.transAxes.inverted())# Get the xlabel objectxlable = ax.xaxis.labellabel_bbox2 = xlable.get_window_extent()# print(label_bbox2)figure_pos2 = label_bbox2.transformed(ax.transAxes.inverted())midpoint = (0.5, (figure_pos1.y0 + figure_pos2.y1) / 2 + 0.08)print(midpoint)for idx, ax in enumerate(axes):ax.text(midpoint[0], midpoint[1], exp, ha='center', fontsize=exp_fontsize, transform=ax.transAxes)   

在上述代码中,fig.savefig非常重要,这是对当前画布做渲染绘制,得到相应的rendererrenderer用于为get_window_extent()提供参考。

考虑这样一种情况,我们会用plt.tight_layout()来紧缩画布,此时调用savefig便可以拿到绘制紧缩画布的renderer

4. 调用实例

fig = plt.figure(dpi = 300, figsize = (400, 500))
...
ax = fig.gca()
...
context = add_explanation_and_title(fig, ax, "duplication ratio (%)", "(a) Single Thread xxx")
...
# context保存了相关信息,用于后续adjust_explanation做参考
context = add_explanation_and_title(fig, ax, "duplication ratio (%)", "(b) Multi Thread xxx")
...
plt.tight_layout()
# 放在plt.tight_layout()后,通过savefig获取画布renderer,并
# 调整exp的最终坐标予以绘制
adjust_explanation(fig, fig.axes, context)
plt.savefig("xxx.pdf")

5. 总结

其实很难想象Matplotlib一直没有一个类似的库来支持以上操作。现有的,将title放到下面的方法只有类似如下方法:

plt.title('Scatter plot pythonspot.com', y=-0.01)

但这种方法导致对坐标的解释文字无法很好适配。另一种方案,即背景中的方案,也需要繁琐的适配。本文给出了一种自动化方案,希望能对科研作图有所帮助。

6. 起飞

OK,到这里就可以起飞了🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫🛫

http://www.laogonggong.com/news/87555.html

相关文章:

  • 触屏手机网站模板北京专业网站建设网站推广
  • 图片网站用什么主机app定制公司
  • 公司网站开源源码网站建设团队架构
  • 重庆铜梁网站建设费用互动平台有哪些
  • 专业网站快速我要素材网网页设计素材
  • 威海住房和城乡建设厅网站wordpress水平菜单
  • 网站设计英语网站建设方案进行工期安排
  • 网站风格包括什么意思唐山市城乡建设局网站
  • 唐山网站制作专业中建一局招聘网
  • 企业培训机构网站源码先做网站还是先收集样品
  • 手机网站管理工具淘宝联盟网站备案
  • 高端品牌网站建设九五网络网站建设要求
  • 三否网站网络公司推荐
  • 网站 自助建站弄一个网站
  • 自己做签名网站100个创意商标名字
  • 深圳哪里可以做物流网站在福州做网站
  • 深圳公司注册多少钱宁波网站优化建站公司
  • 大屏网站模板网站备案 拉黑
  • wordpress企业站主题下载计算机网站设计怎么做
  • 丰台网站建设多少钱下载手机app并安装
  • 网站做cdn需要注意什么全球邮企业邮箱登录入口
  • 网站不备案不能访问包装设计公司招聘信息
  • 网站建设上尚一网常德论坛
  • 百度云怎么做网站地方性手机平台微网站
  • 龙岩网站优化有什么网站可以做
  • 集团网站建设的好处wordpress安装二级目录下
  • 网站平台推广方案东莞企业网络营销平台
  • 南京公司网站设计定制网站开发与应用 答案
  • 长宁区网站建设公wordpress导航下拉
  • 宁波网站建设详细内容做公众号好还是网站好