我需要繪製一致的序列(見圖像爲例)。爲此,我需要調整字母的高度保持相同的寬度。 R中有這麼簡單的方法嗎? 在此先感謝。如何在ggplot中獨立地改變文本的寬度和高度(即「扭曲」字母)?
1
A
回答
0
我也有興趣在顯示文本扭曲和整個這個頁面來了。另一個related question on SO指向1)將文本保存爲圖像並用rasterGrob()或2)使用grImport軟件包繪圖並使用grid包進行繪圖。
這些選項對我來說都很麻煩,所以我很高興看到Henrik在評論中提到的seqLogo包如何處理這個問題。但是,儘管保存到文件非常聰明,但它不是一個可以在其他地方應用的通用解決方案。或者至少對我而言,因爲我使用的不是A,T,C和G以外的符號。
seqLogo作者首先手動定義了每個字母的形狀。舉例來說,這裏是字母T:
letterT <- function(x.pos,y.pos,ht,wt,id=NULL){
x <- c(0,10,10,6,6,4,4,0)
y <- c(10,10,9,9,0,0,9,9)
x <- 0.1*x
y <- 0.1*y
x <- x.pos + wt*x
y <- y.pos + ht*y
if (is.null(id)){
id <- rep(1,8)
}else{
id <- rep(id,8)
}
fill <- "red"
list(x=x,y=y,id=id,fill=fill)
}
您可以在形狀計算依賴於HT和WT,高度和寬度,使被扭曲的字母函數簽名看。這兩封信是那麼使用grid.polygon功能繪製:
grid.polygon(x=unit(letters$x,"native"), y=unit(letters$y,"native"),
id=letters$id,
gp=gpar(fill=letters$fill,col="transparent"))
如果你只處理核苷酸 - 或以其他方式定義所有角色的某種方式塑造你打算使用 - 我說這將是一個很好的方法,比保存一大堆.png文件並加載它們要乾淨得多。
相關問題
- 1. 中心文字立式元素改變高度和寬度
- 2. HTML屬性(寬度,高度)獨立地
- 3. MPlayer:獨立改變音高和速度
- 4. 如何更改BIRT中母版頁的高度和寬度?
- 5. 畫布fillRect高度和寬度總是傾斜/扭曲
- 6. HTML5畫布高度和寬度100%扭曲遊戲動畫
- 7. 更改閃存中文本字段的寬度和高度
- 8. 改變文本框的高度和邊框寬度JavaScript警告
- 9. 如何改變的UITableView的高度和寬度在iPhone
- 10. 如何有固定高度和可變寬度的文字
- 11. Iframe寬度和高度不會改變
- 12. 如何更改ggplotly的寬度和高度?有沒有簡單的方法來改變寬度和高度?
- 13. 如何更改ImageView高度和寬度
- 14. 更改字體高度和寬度
- 15. 背景圖像 - 獨立重新調整高度和寬度
- 16. 如何改變圖像的高度和寬度與JavaScript
- 17. 如何改變AVCaptureVideoPreviewLayer幀的高度和寬度
- 18. 如何計算WinRT中文本的寬度和高度?
- 19. 在tableViewCell中動態改變UIImageView的寬度和高度
- 20. 問題在as3中改變swf的高度和寬度?
- 21. 圖像的高度和寬度在CSS中不會改變
- 22. 圖像質量扭曲時,儘量減少位圖的高度和寬度
- 23. 如何在cakephp中設置文本字段的寬度和高度?
- 24. 將高度和寬度設置爲父母高度/寬度的分數?
- 25. 如何在J2ME中修改表格(javax.microedition.lcdui.CustomItem)的高度和寬度
- 26. 文字控制高度和寬度?
- 27. 旋轉屏幕後,寬度和高度不會改變本機
- 28. 如何使用JavaScript中的變量來改變DIV的寬度和高度?
- 29. 如何使用java更改html文件的寬度和高度
- 30. 如何用jquery更改選項框的寬度(選擇寬度的獨立性)?
看看[seqLogo軟件包](http://www.bioconductor.org/packages/2.12/bioc/vignettes/seqLogo/inst/doc/seqLogo.pdf) – Henrik
@Henrik,非常感謝!這似乎是我的情況下的解決方案。雖然我仍然很好奇,但總體而言,有沒有辦法改變字母的尺寸,所以我會留下這個問題。 –
P.S. seqLogo軟件包只能通過Bioconductor使用,對吧? –