tôi xây dựng dendrogram trong R với mã:R & Inkscape: nhãn văn bản trong đồ họa SVG xuất khẩu từ R đã không được coi là một văn bản trong Inkscape
data(iris)
aver<-sapply(iris[,-5],function(x) by(x,iris$Species,mean))
matrix<-dist(aver)
clust<-hclust((matrix),"ave")
clust$labels<-row.names(aver)
plot(as.dendrogram(clust))
tôi muốn lưu dendrogram dưới dạng file svg bằng cách sử dụng mã:
install.packages("Cairo")
library(Cairo)
svg("plot.svg")
plot(as.dendrogram(clust))
dev.off()
Ở đây, vấn đề bắt đầu:
Khi tôi nhập khẩu các "plot.svg" vào Inkscape (ver: 0.48.4) và chọn bất kỳ nhãn (ví dụ: "setosa") nó không được công nhận dưới dạng văn bản, nhưng đúng hơn là s một số "người dùng xác định" đối tượng. Cụ thể, khi tôi chọn bất kỳ "chữ" trong nhãn và kiểm tra nó với các biên tập XML (ctrl + shift + X) trong Inkscape tôi nhận được thông tin này:
**id**: use117
**x**: 142.527344
**xlink:href**: #glyph0-8
**y**: 442.589844
Mặt khác, khi tôi tự viết " setosa" sử dụng 'tạo ra và các đối tượng chỉnh sửa văn bản' công cụ, và kiểm tra trong XML Editor, nó trả về:
**id**: text4274
**sodipodi:linespacing**: 125%
**style**: font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Palatino Linotype;-inkscape-font-specification:Palatino Linotype
**transform**: scale(0.8,0.8)
**x**: 176.02016
**xml:space**: preserve
**y**: 596.96674
Dường như Inkscape đã không nhận ra nhãn như một văn bản theo quy định của thuộc tính 'id' từ XML Biên tập viên. Do đó, tôi không thể thay đổi phông chữ, kích thước cũng như sử dụng các chức năng khác liên quan đến đối tượng văn bản trong Inkscape.
Đây là svg file, mà tôi thực hiện với mã trước và nhập khẩu vào Inkscape
Tôi đã kiểm tra các bước trước đó sử dụng các phiên bản khác của Inkscape cũng như R, nhưng nó sẽ là như vậy.
Đây là câu hỏi:
Bạn có bất cứ đề nghị làm thế nào tôi có thể thu thập nhãn như thuộc tính một văn bản thay vì một "người sử dụng định nghĩa" (hoặc bất cứ điều gì nó là đối tượng ...) khi nhập file svg từ R vào Inkscape?
CẬP NHẬT
@baptiste liên kết với SO thread nơi @ Oscar Perpiñán đề nghị ba gói (gridSVG, SVGAnnotation và RSVGTipsDevice) mà thao tác SVG. Thật không may, không phải các gói được đề xuất có thể giải quyết vấn đề với vấn đề văn bản. Cho đến nay tôi đã tìm thấy SO thread trong đó @Mo Sander gói RSvgDevice được đề xuất vì nó có thể bảo toàn đối tượng văn bản thay vì glyph. Đang bị mắc kẹt với thủ tục cài đặt RSvgDevice, tôi thấy rằng nó RSvgDevice chỉ có sẵn cho các cài đặt 32-bit và R < 2.15.0. Nếu không, thông báo cảnh báo R trả lại:
Warning message:
package ‘RSvgDevice’ is not available (for R version 3.0.1)
Bên cạnh yêu cầu đối với phiên bản cũ hơn, hiện tại chỉ RSvgDevice có thể bảo toàn đối tượng văn bản trong SVG.
bạn đã thử tất cả các thiết bị svg khác nhau có sẵn trong R? IIRC một trong số họ xử lý văn bản khác với các văn bản khác, ít nhất là không có âm mưu. – baptiste
Không, bạn có thể đề xuất một số thiết bị khác không? Tôi xin lỗi, nhưng tôi không biết IIRC là gì? –
http://stackoverflow.com/a/7562016/471093 – baptiste