これらの種類のテーマの見栄えの良いベクトル化された画像を作成する方法について、いくつかの助けが必要です。
組版に関しては、LaTeXでよく仕事をしているので、Tikzの基本的な経験があります。しかし、上記のような複雑な画像を作成する必要がある場合は、少し迷っているように感じます。
できればフリーソフトウェアを使用して、この種の画像をどのように作成するかについて誰かが私に正しい方向を教えてくれれば幸いです。
これらの種類のテーマの見栄えの良いベクトル化された画像を作成する方法について、いくつかの助けが必要です。
組版に関しては、LaTeXでよく仕事をしているので、Tikzの基本的な経験があります。しかし、上記のような複雑な画像を作成する必要がある場合は、少し迷っているように感じます。
できればフリーソフトウェアを使用して、この種の画像をどのように作成するかについて誰かが私に正しい方向を教えてくれれば幸いです。
回答:
ベクトル出力を行うグラフ作成アプリケーションが利用可能です。私は次のアプリケーションを非常にうまく使用しました:
3Dアプリまたはグラフアプリを使用する必要がある場合もありますが、
通常、実際に物事をグラフ化できるツールを使用し、EPSファイルをillustratorなどのグラフィックアーティストツールにインポートして、後で完成させるほうが生産性が高くなります。本当の利点は、関与する前にグラフを操作できるため、変更が簡単なことです。
必要に応じて、Illustratorで独自にグラフ化することもできます。途中で役立つコードもいくつかあります。
いくつかの適切な例を見つける時間があるまで、いくつかの簡単なリストを示します(右の層流)。
同様のコンポーネントを使用したいくつかの例(必要なものを追加する必要があるかもしれませんが、ここにパズルの一部があります):
あなたの最善の策は、ベクトルエディターを手に取り、その使用方法を学ぶことです。上記の例は複雑に見えませんが、ベクターの描画に関する基本的な知識があれば十分うまくいきます。
試してみる場合は、IllustratorまたはCorel Drawはお勧めしません。どちらも強力で人気のあるツールですが、初心者には気が遠くなるでしょう。Inkscapeは良い選択です。それは無料で、それを学ぶことは問題ではないはずです。
最初:.PY + Matplotlib-> .SVG
次に、.SVG-> Inkskape
ただし、.SVGは.PY-> .SVGに進むことを学ぶのに十分簡単です。
.PY + Matplotlib-> .PDFを実行することもできます。Inkscapeもそれを開きます。
免責事項:
今より堅牢な答え:(私は博士課程の候補者のために宿題をすることを楽しんでいるわけではない...)
ここではすべてが盗まれました-matplotlibのWebサイト(例を参照)およびStack Overflow(matplotlib save fig image trim)から盗まれました。私がしたのはそれをコピー/貼り付けしてテストすることだけでした。
結果のout.svgファイルは、Inkscapeで直接開くことができます。画像は、1つまたは複数の小さい画像のグループです。画像の任意の部分をクリックして、Inkscapeの「グループ解除」オプションを使用します。画像の一部を直接操作できるようにするには、グループを数回解除する必要がある場合があります。
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatter
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.gca(projection='3d')
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm,
linewidth=0, antialiased=False)
ax.set_zlim(-1.01, 1.01)
ax.zaxis.set_major_locator(LinearLocator(10))
ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))
fig.colorbar(surf, shrink=0.5, aspect=5)
#plt.show()
fig.set_size_inches(4,3)
fig.set_dpi(40)
fig.savefig('out.svg', transparent=True, bbox_inches='tight', pad_inches=0)