PCで遊んだ日々の備忘録

Making PC and Customization PC

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にインポートできます。

印刷プレビューから Microsoft Print to PDF を選択している画像

Microsoft Print to PDF

PDF インポート設定ダイアログボックスの画像

PDF インポート設定は ...

Windows版のInkscapeにインポートした画像

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ダイアログボックスが開くので すべての形式 を押すと、保存する画像形式のコンテキストメニューが表示されます。

LibreOffice Calcの画像

グラフを中間ファイルにエクスポート

保存する画像形式コンテキストメニューの画像

画像形式を選択する

ここでどの形式を選ぶかですが 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)の画質劣化の比較を掲載しています

PDF インポート設定ダイアログボックス画像

PDF インポート設定は ...

ubuntuのInkscapeにインポートした画像

Inkscapeにインポートした ...

Ubuntuのデスクトップ画像

Calc → EPSファイル → Inkscape

インポートは EPSファイル右クリックからInkscapeを選択すると PDFインポート設定 ダイアログボックスが表示されるので、そのまま OK ボタンを押します。

補足

Calc でエクスポートした EPSファイルは Windows版 Inkscapeで開けません。WMF, EMF, SVGファイルは開けますが同様に変形したものが表示されます。なお Windows10でベクター形式の EPSファイルを扱うには別途、変換アプリと手間が必要なのでかなり面倒なことになります。

▲ 目次へ

雑感|GPU, GPU管理アプリなど

そもそも EXCELグラフを Inkscapeにインポートしようとした理由は、ELSAジャパンから無償で提供されている GPU管理アプリ ELSA System Graph の存在を知り、そのログデータをホームページに掲載するためでした。

YouTube動画を再生してモニタリングしている画像

ELSA System Graph

Inkscapeにインポートできるファイル形式は限られているので何とか画質を落とさずできないものかと模索している中 Microsoft Print to PDF という仮想プリンタに気が付いたわけです。

ちなみに手持ちのパソコンに載せているグラフィックスボードは NVIDIA GTX 1060 3GB , GT 1030 です。

このアプリケーションソフトが 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 は読むクセをつけておいた方がよいですよ。

▲ 目次へ

クリエイティブ・コモンズ・ライセンス
Top of Pageの画像
sidemenuの画像