budowałem dendrogram w R z kodem:R & Inkscape: etykiety tekstowe w ilustracjach SVG eksportowanych z R nie rozpoznawane jako tekst w 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))
chciałem zaoszczędzić dendrogramie jako plik svg przy użyciu Kod:
install.packages("Cairo")
library(Cairo)
svg("plot.svg")
plot(as.dendrogram(clust))
dev.off()
Tutaj problem zaczął:
Kiedy sprowadziliśmy "plot.svg" Into Inkscape (ver: 0.48.4) i wybiera dowolną etykietę (np "setosa") nie został rozpoznany jako tekst, ale raczej jako s jakiś obiekt "zdefiniowany przez użytkownika". W szczególności, kiedy wybrano żadnych „nas” w etykiecie i sprawdzić go z edytora XML (Ctrl + Shift + X) w Inkscape Zdobyłem tę informację:
**id**: use117
**x**: 142.527344
**xlink:href**: #glyph0-8
**y**: 442.589844
Z drugiej strony, kiedy ręcznie napisał " setosa”za pomocą«tworzyć i edytować obiekty tekstowe»narzędziem, a kontrolowane w edytorze XML, powrócił:
**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
jest prawdopodobne, że Inkscape nie uznają etykiety jako tekst zgodnie z atrybutem«id»z XML Redaktor. Dlatego nie mogę zmienić ani czcionki, rozmiaru, ani korzystać z innych funkcji związanych z obiektami tekstowymi w Inkscape.
Oto svg file, że zrobiłem z poprzedniego kodu i importowane do programu Inkscape
sprawdziłem powyższe czynności, używając innych wersji Inkscape oraz R, ale byłoby to samo.
Oto pytanie:
Czy macie jakieś sugestie jak mogę zebrać jak etykiety atrybutu tekstu zamiast „Użytkownika” (lub cokolwiek to jest przedmiot ...) podczas importowania plików SVG z R do Inkscape?
UPDATE
@baptiste związane z SO thread gdzie @Oscar Perpiñán proponuje trzy pakiety (gridSVG, SVGAnnotation i RSVGTipsDevice), które manipulują SVG. Niestety żaden z proponowanych pakietów nie rozwiązał problemu z tekstem. Do tej pory znalazłem SO thread gdzie @Mo Sander zaproponował pakiet RSvgDevice, ponieważ może on zachować obiekt tekstowy zamiast glifów. Utknąłem z procedurą instalacji RSvgDevice, stwierdziłem, że RSvgDevice jest dostępne tylko dla instalacji 32-bitowych i R < 2.15.0. W przeciwnym razie, R zwrócony komunikat ostrzegawczy:
Warning message:
package ‘RSvgDevice’ is not available (for R version 3.0.1)
obok wymagań dla starszych wersji R, obecnie tylko RSvgDevice może zachować obiekt tekstowy w SVG.
Czy wypróbowałeś wszystkie urządzenia svg dostępne w R? IIRC jeden z nich traktował tekst inaczej niż pozostałe, przynajmniej bez spisku. – baptiste
Nie, czy możesz zaproponować inne urządzenia? Przykro mi, ale nie wiem, co to jest IIRC? –
http://stackoverflow.com/a/7562016/471093 – baptiste