小编Fra*_*ank的帖子

Matplotlib 多个散点图 - 减小 svg 文件大小

我在 Matplotlib 中生成了一个由 50 个子图组成的图。在这些子图中的每一个中,我都有一个包含大约 3000 个数据点的散点图。我这样做是因为我只想概览我正在处理的文档中的不同散点图。

到目前为止,这也有效并且看起来不错,但问题显然是我得到的 SVG 文件非常大(大约 15 MB)。Word 无法处理这么大的 SVG 文件。

所以我的问题是:有没有办法优化这个 SVG 文件?散点图中的许多数据点彼此重叠,因此我想应该可以在不更改可见输出的情况下删除其中许多“不可见”的数据点。(所以在 illustrator 中这样的事情似乎是我想要做的:Link)是否也可以在 Inkscape 中做这样的事情?甚至直接在 Matplotlib 中?

我知道我只能生成一个 PNG 文件,但我更喜欢在我的文档中将绘图作为矢量图形。

svg matplotlib scatter-plot inkscape subplot

4
推荐指数
1
解决办法
1855
查看次数

Matplotlib timedelta64索引作为x轴

我想绘制一个数据帧,该数据帧的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?

python matplotlib timedelta spyder

3
推荐指数
1
解决办法
695
查看次数

标签 统计

matplotlib ×2

inkscape ×1

python ×1

scatter-plot ×1

spyder ×1

subplot ×1

svg ×1

timedelta ×1