我在 Matplotlib 中生成了一个由 50 个子图组成的图。在这些子图中的每一个中,我都有一个包含大约 3000 个数据点的散点图。我这样做是因为我只想概览我正在处理的文档中的不同散点图。
到目前为止,这也有效并且看起来不错,但问题显然是我得到的 SVG 文件非常大(大约 15 MB)。Word 无法处理这么大的 SVG 文件。
所以我的问题是:有没有办法优化这个 SVG 文件?散点图中的许多数据点彼此重叠,因此我想应该可以在不更改可见输出的情况下删除其中许多“不可见”的数据点。(所以在 illustrator 中这样的事情似乎是我想要做的:Link)是否也可以在 Inkscape 中做这样的事情?甚至直接在 Matplotlib 中?
我知道我只能生成一个 PNG 文件,但我更喜欢在我的文档中将绘图作为矢量图形。
我想绘制一个数据帧,该数据帧的timedelta64索引在x轴上具有索引。
索引如下所示:
In [75]: test.index
Out[75]:
TimedeltaIndex([ '00:00:00', '00:00:00.020000', '00:00:00.040000',
'00:00:00.060000', '00:00:00.080000', '00:00:00.100000',
'00:00:00.120000', '00:00:00.140000', '00:00:00.160000',
'00:00:00.180000',
...
'07:29:31.660000', '07:29:31.680000', '07:29:31.700000',
'07:29:31.720000', '07:29:31.740000', '07:29:31.760000',
'07:29:31.780000', '07:29:31.800000', '07:29:31.820000',
'07:29:31.840000'],
dtype='timedelta64[ns]', name='master', length=923486, freq=None)
Run Code Online (Sandbox Code Playgroud)
当我简单地使用以下方式绘制此数据框时:
plt.plot(test)
Run Code Online (Sandbox Code Playgroud)
我希望在x轴上获得timedeltaindex。但是,相反,我只是在x轴上得到这个:
如何在x轴上获取TimedeltaIndex?