我需要一些关于如何创建这些主题的漂亮矢量化图像的帮助:
在排版方面,我经常使用 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 网站(参见示例)和 Stack Overflow(matplotlib 保存无花果图像修剪)。我所做的只是复制/粘贴它并测试它。
生成的 out.svg 文件可以直接在 Inkscape 中打开。图像是一组/组较小的图像。单击图像的任何部分,然后使用 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)