Advent of Code is now back for a limited time only! Complete as many challenges as you can to earn those badges you may have missed in December. Learn more about how to participate here!

ディスカッション

答えを見つけ、質問し、Alteryx の専門知識を共有してください。
解決済み

R Tool へフォントを追加する方法

Yoshiro_Fujimori
15 - Aurora
15 - Aurora

R Tool でグラフを生成しようとしております。(後続の Render Tool で .png ファイルに出力)

入力データに日本語が含まれるため、日本語を表示したいのですが、文字化けします。

 

ネットワークグラフのノードのラベルの日本語が文字化けするので、

ネットで R の日本語文字化け対策のページを参考にして

showtextdb ライブラリの font_install() で日本語をサポートするフォントをインストールしようとしたところ

以下のようなエラーで異常終了します。

 

Error in font_install(source_han_serif())

the C:/Program Files/Alteryx/R-4.1.3/library/showtextdb/fonts directory does not have write permission,

 

該当ディレクトリのRead Only属性を変更してみましたが、同じエラーとなりました。

showtextdb はもともとRパッケージに入っており、source_han_serif フォントもその中に入っているようなので

特に外部からフォントを持ってきてはおりません。

 

このやり方にこだわっている訳ではなく、とりあえず日本語が表示できれば良いのですが、何か対処法がありましたらご教示頂ければ幸甚です。

 

Rコード

スポイラ

library(igraph)
font_install(source_han_serif())

edgeData = read.Alteryx("Edge", mode = 'data.frame')
nodeData = read.Alteryx("Node", mode = 'data.frame')
net <- graph_from_data_frame(edgeData, directed = TRUE, vertices = nodeData)

AlteryxMessage(font_families(), msg.consts$ERROR, priority.consts$HIGH)

AlteryxGraph(1, width=2400, height=3000, res=300)

l <- layout_with_fr(net)
plot(net,
vertex.label=V(net)$label,
vertex.label.cex=.7,
vertex.label.dist=.25,
vertex.label.color="black",
vertex.size=2.5,
vertex.frame.color="#555555",
edge.arrow.size=.4,
edge.color="orange",
layout=l,
)

invisible(dev.off())

実行ログ

スポイラ
Started running iGraphTutorial.yxmd at Tue Nov 12 15:16:39 2024
00:00:00.043 - WorkflowId - Alteryx: 0bb9e10e-2442-4af5-ba6d-c18caa40d04b
00:00:00.043 - RunId - Alteryx: d2984e08-8855-48cc-8a72-8d9ecbeefd0c
00:00:00.049 - Alteryx: This is AMP Engine; running 6 worker threads; memory limit 4040.0 MB.
00:00:00.069 - ToolId 6: C:\Users\########\Desktop\NetworkAnalysis\data\edge.yxdb|782 records were read from "C:\Users\########\Desktop\NetworkAnalysis\data\edge.yxdb"
00:00:00.069 - ToolId 5: C:\Users\########\Desktop\NetworkAnalysis\data\Node.yxdb|644 records were read from "C:\Users\########\Desktop\NetworkAnalysis\data\Node.yxdb"
00:00:00.069 - ToolId 14: 782 records were found and 0 records were not found.
00:00:00.069 - ToolId 15: 782 records were found and 0 records were not found.
00:00:00.482 - ToolId 3: R version 4.1.3 (2022-03-10) - x86_64
00:00:00.818 - ToolId 3: Loading required package: sysfonts
00:00:00.895 - ToolId 3: Loading required package: showtextdb
00:00:02.088 - ToolId 3: rgeos version: 0.5-9, (SVN revision 684)
00:00:02.088 - ToolId 3: GEOS runtime version: 3.9.1-CAPI-1.14.2
00:00:02.088 - ToolId 3: Please note that rgeos will be retired by the end of 2023,
00:00:02.088 - ToolId 3: plan transition to sf functions using GEOS at your earliest convenience.
00:00:02.088 - ToolId 3: GEOS using OverlayNG
00:00:02.088 - ToolId 3: Linking to sp version: 1.4-6
00:00:02.088 - ToolId 3: Polygon checking: TRUE
00:00:04.856 - ToolId 3: Attaching package: 'AlteryxPredictive'
00:00:04.856 - ToolId 3: The following objects are masked from 'package:AlteryxRDataX':
00:00:04.856 - ToolId 3: unserializeObject, XMSG
00:00:04.932 - ToolId 3: Attaching package: 'igraph'
00:00:04.932 - ToolId 3: The following object is masked from 'package:rgeos':
00:00:04.932 - ToolId 3: union
00:00:04.932 - ToolId 3: The following objects are masked from 'package:stats':
00:00:04.932 - ToolId 3: decompose, spectrum
00:00:04.932 - ToolId 3: The following object is masked from 'package:base':
00:00:04.932 - ToolId 3: union
00:00:04.932 - Error - ToolId 3: Error in font_install(source_han_serif()) :
00:00:04.932 - ToolId 3: the C:/Program Files/Alteryx/R-4.1.3/library/showtextdb/fonts directory does not have write permission,
00:00:04.932 - ToolId 3: unable to install fonts
00:00:04.932 - Error - ToolId 3: Execution halted
00:00:05.544 - ToolId 18: C:\Users\########\Desktop\NetworkAnalysis\data\GraphOutput.png|C:\Users\########\Desktop\NetworkAnalysis\data\GraphOutput.png
00:00:05.544 - ToolId 18: C:\Users\########\Desktop\NetworkAnalysis\data\GraphOutput.png|C:\Users\########\Desktop\NetworkAnalysis\data\GraphOutput.png|PortfolioPluginsGui.ComposerRender.PortfolioComposerRender
Finished in 00:00:05.561 with 2 errors
4件の返信4
Yoshiro_Fujimori
15 - Aurora
15 - Aurora

ご質問を出した直後で恐縮ですが、自己解決しました。

 

ログにインストール済の font family を出力していたのですが、その中の wgy-microhei が CJK フォントだと分かったので

ノードの属性に

 

vertex.label.family="wqy-microhei",

 

を追加したところ、無事 日本語が表示できました。

 

お騒がせいたしました!

gawa
16 - Nebula
16 - Nebula

@Yoshiro_Fujimori 

Alteryx Designerのアイコンを右クリック→管理者として実行 でDesignerを開いて実行してみてください。これにより、Designer上での操作は全て管理者権限で実行されます。

動きとして、ProgramFilesディレクトリ以下のファイル操作になるため、管理者権限での実行が求められるのですが、普通にDesingerを開くとデフォルトで非管理者権限になるため、「ファイルの書き込み権限がない」とエラーになります。

 

私の環境でも普通に起動したら、上記と全く同じエラーが出ましたが、管理者権限で実行したところ無事にフォントのインストールができました。

 

image.png

Yoshiro_Fujimori
15 - Aurora
15 - Aurora

@gawa 

即答ありがとうございます!

フォントのインストールは管理者権限が必要、

というのは言われてみれば納得ですが

Rのコード画面ばかり見ていて

まったく考えに至りませんでした orz

 

せっかく教えて頂いたので

好きなフォントをインストールしようかと思いましたが、

サーバーで走らせたり共有するかもしれないので

とりあえずそっとしておきます。

gawa
16 - Nebula
16 - Nebula

@Yoshiro_Fujimori R toolやPython toolでライブラリやフォントをインストールするときは「管理者として実行」です!私もよく忘れてエラーになります。

せっかく教えて頂いたので
好きなフォントをインストールしようかと思いましたが、
サーバーで走らせたり共有するかもしれないので
とりあえずそっとしておきます。

少し話はそれますが、Report MapでMeiryoフォントを使ったWFをサーバにあげたらエラーになりました。サーバが動いているWindows Server自体にMeiryoフォントがインストールされてないことが原因でした。

組織の中で、個人の端末やサーバでAlteryx関連の環境を統一するのって難しいなーと日々感じております。。。

トップのソリューション投稿者