0

前の質問で提案したように、cairopdfを使用しています

PDFに漢字をプロットする方法は?

Rで中国語のテキストを生成するため。

library(Cairo)
mydata = matrix( c( 2:6, c( 2,4,2,6,3 ) ), nrow= 2 )
mylabs = c( "木材", "表", "笔", "垃圾桶", "杯" )
CairoPDF("Report_chinese.pdf", family="GB1")
barplot( mydata, beside=T, horiz= "T", names.arg= mylabs, las= 1, col= c( "red", "blue" ) )
dev.off()

しかし、棒グラフには中国語のテキストはありません。このpblmを修正するにはどうすればよいですか?

よろしく

4

1 に答える 1

1

cairo_pdf()私のために働く:

mydata = matrix( c( 2:6, c( 2,4,2,6,3 ) ), nrow= 2 )
mylabs = c( "木材", "表", "笔", "垃圾桶", "杯" )
cairo_pdf("Report_chinese.pdf")
barplot( mydata, beside=T, horiz= "T", names.arg= mylabs, las= 1, col= c( "red", "blue" ) )
dev.off()

ライブラリを使用するCairo場合は、最初にCJKグリフを持つフォントを定義する必要があります(編集:コメントのリクエストごとに、この例ではラベルとタイトルに異なるフォントを使用します):

library(Cairo)
CairoFonts(regular="AR PL UKai CN:Book", bold="Century Schoolbook L:Italic")
CairoPDF("Report_chinese.pdf")
barplot( mydata, beside=T, horiz= "T", names.arg= mylabs, las= 1, col= c( "red", "blue" ) )
mtext("This is the title", side=3, line=1, font=2)
dev.off()

CairoFonts()toの引数は単なる任意のポインタであることに注意してください。この引数を使用しbold=てイタリック体型を指定し、font=2toの呼び出しで使用してアクセスしましたmtext()(のfont引数を参照?par)。システムに実際に使用しているフォントは、必ず「AR PL UKaiCN:Book」と「CenturySchoolbookL:Italic」に置き換えてください。

そのメソッドが気に入らない場合は、CairoFonts()複数回呼び出すことで同じ結果を得ることができます。

CairoFonts(regular="AR PL UKai CN:Book")
CairoPDF("Report_chinese.pdf")
barplot( mydata, beside=T, horiz= "T", names.arg= mylabs, las= 1, col= c( "red", "blue" ) )
CairoFonts(regular="Century Schoolbook L:Italic")
mtext("This is the title", side=3, line=1) #implicit argument: font=1
dev.off()

中国語のカテゴリラベルと全体的なタイトルの異なるフォントを使用したサンプルデータの棒グラフ

于 2012-12-08T17:11:20.127 に答える