美文网首页
JIGplot开发 - 应用 - 笛卡尔坐标系-转-极坐标系

JIGplot开发 - 应用 - 笛卡尔坐标系-转-极坐标系

作者: 生信石头 | 来源:发表于2018-09-17 19:09 被阅读88次

写在前面

事实上,做这个坐标系转换。
目前来说,我唯一的目的是JIGCircos。主要原因是Circos,对于部分人来说:

  1. 安装太麻烦(当然有人说用conda)
  2. 绘制太麻烦,当然目前有不少网站,但有时候,我们只是要简单的绘制一些还不错的图片

这个想法产生了很久,目前也有阶段性成果。但整体还是不够优秀。JIGplot在这类坐标系转换上,一直是我不想做的事情。
主要原因不是转不好。正如之前的推文,效果还可以。
But,最麻烦的其实是文本坐标

一些尝试

以面板底部为极,进行转换

image.png
image.png
可以看得出来,标签可以已经较好的处理

测试之后,发现,由于前期JIGplot在文本旋转上还是花了一定功夫,似乎都没问题,不过这个错位,不知道是哪里引起的

subPanel.flip(JIGConstants.Direction.Up, JIGConstants.Direction.Left);
subPanel.polar(JIGConstants.Direction.Left, startAngle, endAngle);
image.png

但是在工具测试的时候,并没有发现存在这个问题。

总的来说,最后是调整完善,同时也完成了极坐标下文本堆叠的处理。(目前在考虑,是否要分染色体?毕竟不同染色体的ID也可能出现重叠?

image.png

我收回很久以前说ggplot2或者图层语法无法实现极坐标下文本重叠的情况,这几天把之前不小心想到的解决办法用JIGplot实现了下,很明显,图层语法是可以比较方便的搞定的。只要在笛卡尔坐标系里面先做一次堆叠处理(给一个权重,需要具体调整或者按最终圈大小来计算),最后再做一次coord_polar()

写在后面

需求推动工具的发展,因为要实现极坐标下的文本堆叠处理,我对绘图引擎做了一定的优化:

  1. 增加flip功能,见之前的推文
  2. 调整了link point的设置
  3. 以及很多....

终于还是让我实现了。
一旦实现了这个,Circos类似的图片,似乎已经没有实现难点了?需要的只是一些简单绘图引擎优化。

相关文章

  • JIGplot开发 - 应用 - 笛卡尔坐标系-转-极坐标系

    写在前面 事实上,做这个坐标系转换。目前来说,我唯一的目的是JIGCircos。主要原因是Circos,对于部分人...

  • JIGplot开发- 笛卡尔坐标系-转-极坐标系

    写在前面 仅仅是作为笔记。ggplot2 或者 更确切的说,我欣赏的并不是ggplot2,而是图层语法对统计绘图的...

  • 文献常用词库

    笛卡尔坐标系:cartesian coordinates 极角坐标系:polar coordinates 知识图库...

  • 3D数学基础及图形开发(一)坐标系

    3D数学基础及图形开发(一)坐标系及向量 (一) 笛卡尔坐标系 可以大致分为两大坐标系:左手坐标系右手坐标系 一些...

  • 个人笔记|三维GIS开发-cesium坐标系统

    三维GIS开发-vue+cesium坐标系统 屏幕坐标系/平面直角坐标系 笛卡尔空间直角坐标系/世界坐标 地理坐标...

  • 坐标思想的应用与拓展

    笛卡尔坐标系:(百度) 笛卡尔坐标系就是直角坐标系[https://baike.baidu.com/item/%E...

  • 内积

    内积 笛卡尔坐标系 直角坐标系 数量积

  • OpenGL-坐标系解析

    2D笛卡尔坐标系(二维坐标系) 3D笛卡尔坐标系(三维坐标系) 视口 视口 <= 窗口 OpenGL投影方式 正投...

  • WebGL知识点

    数学基础 坐标系:笛卡尔坐标系、极坐标等多坐标系:世界坐标系、物体坐标系、摄像机坐标系、惯性坐标系;向量、向量运算...

  • OpenGL 坐标系

    1. 2D笛卡尔坐标系 坐标是由x、y决定,即二维坐标系;标准设备坐标系【-1,1】。 2. 3D笛卡尔坐标系 ...

网友评论

      本文标题:JIGplot开发 - 应用 - 笛卡尔坐标系-转-极坐标系

      本文链接:https://www.haomeiwen.com/subject/zzqlnftx.html