当我将带有10000个数据点的散点图导出到带有fig.write_image("filename.svg")作为巧妙地推荐的svg时,我会得到一个模糊的svg。将数据降到1000个数据点确实会产生一个很好的矢量图像,并且保持清晰。锐利图像和像素化图像之间的限制位于1000到1500个散射点之间,因为将采样降到1500会再次产生像素化的图像。
我如何避免这一点,因为我想导出1000多个数据点的数字。
import pandas as pd
import plotly.express as px
import numpy as np
df = pd.DataFrame(np.random.randn(10000, 2), columns=list('XY'))
fig =px.scatter(df, x='X', y='Y')
fig.write_image("images/fig1.svg")10000分

1500点

1000点

(我不得不做截图,因为堆栈溢出不允许.svg图像)
发布于 2022-04-21 21:18:41
我相信答案就在在这里巧妙的文档中给px.scatter..。
render_mode (str) --“自动”、“svg”或“webgl”中的一种,默认的“自动”控制用来绘制标记的浏览器API。“of”适用于小于1000个数据点的数字,并将允许完全向量化的输出。'webgl‘对于1000点以上的可接受性能可能是必需的,但可以将部分输出进行栅格化。“自动”使用启发式方法选择模式。
如果添加render_mode = 'svg',就会看到这个像素化消失。
fig =px.scatter(df, x='X', y='Y', render_mode = 'svg')发布于 2022-04-14 11:36:07
它在我的桌面上看起来很好,有10000点:

你有可能有图形卡问题吗?
https://stackoverflow.com/questions/71870435
复制相似问题