Excel グラフと Calc グラフを Inkscape にインポートする
手持ちのパソコンに載せているグラフィックスボードの温度や消費電力などのログデータを GPU管理アプリを使って CSVファイルで出力しました。
この CSVファイルを基に EXCELで作成したグラフを画質を落とさず Inkscapにインポートして編集の後、ラスター画像(png)にエクスポートしました。もちろん直接インポートしたわけではありません。
ここでは EXCEL グラフを一旦、中間ファイルに変換して Inkscape にインポートする方法を紹介します。合わせて Linux版の Libreoffice Calc で作成したグラフについても掲載しています。(2020年4月)
EXCEL からインポート
このセクションは Windows10 上の EXCEL から中間ファイル(PDF)を作成して Inkscapeにインポートする方法です。
EXCELから直接 PDFを作成することもできますがグラフのみを対象にする場合その前準備に手間がかかります。
そこで Windows10に標準で備わっている Microsoft Print to PDF で出力すれば手間をかけずにグラフだけの PDFファイルが作れます。
その方法は グラフを選択して印刷プレビューから Microsoft Print to PDF を選択するだけです。ただし、ひとつ条件があります。それは Ghostscript をインストールすることです。当方では Bullzip という仮想PDFプリンターを導入しているのでその必要はありませんでした。
こうして出来たファイルが Inkscapeにインポートできます。
PDFファイル右クリックから Inkscapeを選択すると PDFインポート設定 ダイアログボックスが開くので、表示された設定(Internal import)のまま OK ボタンを押します。これでインポートしたデータのテキストはフォント変更などの編集ができます。なお Poppler / Cairo import に設定するとテキストが図形になります。
LibreOffice Calc からインポート
このセクションは Ubuntu 16.04 LTS 上の LibreOffice Calc から中間ファイル(EPS)を作成して Inkscapeにインポートする方法です。
まず EXCEL同様に CSVファイルを開いてグラフを作成します。そのグラフを選択して右クリックから 画像としてエクスポート を選択します。
すると Save as Imageダイアログボックスが開くので すべての形式 を押すと、保存する画像形式のコンテキストメニューが表示されます。
ここでどの形式を選ぶかですが Inkscape上でテキストの編集をするので下表の
WMF (Windows Metafile), EMF (Enhanced Metafile) | Windows 用のベクター画像ファイル |
---|---|
EPS (Encapsulated PostScript) | ベクター、ラスターの両方を含められるファイルフォーマット |
SVG (Scalable Vector Graphics) | テキストベース(XML言語)のベクター画像ファイル |
何れかになります。それぞれを試してみると、EMFはグラフエリアの補助目盛線が消えてしまったかのように薄くなり WMFは加えて日本語が文字化けしました。SVGは縦軸ラベルのレイアウトが崩れてしまいました。
EPSはテキストの letter-spacing が 0になったような文字間隔になるものの、最もオリジナルに近い形でインポートされました。もちろんベクターデータなので画質の劣化もありません。
参考までに こちらに ベクター(SVG)とラスター(png, jpeg)の画質劣化の比較を掲載しています
インポートは EPSファイル右クリックからInkscapeを選択すると PDFインポート設定 ダイアログボックスが表示されるので、そのまま OK ボタンを押します。
補足
Calc でエクスポートした EPSファイルは Windows版 Inkscapeで開けません。WMF, EMF, SVGファイルは開けますが同様に変形したものが表示されます。なお Windows10でベクター形式の EPSファイルを扱うには別途、変換アプリと手間が必要なのでかなり面倒なことになります。
雑感|GPU, GPU管理アプリなど
そもそも EXCELグラフを Inkscapeにインポートしようとした理由は、ELSAジャパンから無償で提供されている GPU管理アプリ ELSA System Graph の存在を知り、そのログデータをホームページに掲載するためでした。
Inkscapeにインポートできるファイル形式は限られているので何とか画質を落とさずできないものかと模索している中 Microsoft Print to PDF という仮想プリンタに気が付いたわけです。
ちなみに手持ちのパソコンに載せているグラフィックスボードは NVIDIA GTX 1060 3GB , GT 1030 です。
ELSA System Graph 使用に際してのアドバイス
このアプリケーションソフトが 100%動作するためには NVIDIAのグラフィックスドライバが動作していることと、次のダイナミックリンクライブラリ(.dll)が必要です。
nvapi.dll | C:\ Windows\ System32\ DriverStore\ ... |
---|---|
nvml.dll | C:\ Program Files\ NVIDIA Corporation\ NVSMI\ nvml.dll |
nvapi.dll はドライバをインストールしていれば存在します。しかし nvml.dll は Windows10で NVIDIAドライバが自動インストール(DCHドライバ)された場合上表のパスには存在しないと思います。
なので C:\ Program Files\ NVIDIA Corporation\ 下に NVSMI フォルダを作って C:\ Windows\ System32 にある nvml.dll をコピーしてください。
それとアプリに同梱されている Readme は読むクセをつけておいた方がよいですよ。