Why does plot quality reduce when plotting line and scatter together?

2 次查看(过去 30 天)
I am using plot3() and scatter3() together and the quality of the plot is reducing. The plot becomes a bit pixelated.
% Code snippets of what I am using
plot3(xSol{1}(first_seconds), omegaSol{1}(first_seconds), ESol{1}(first_seconds), 'LineWidth', 1.8, 'Color', PS.Purple2);
scatter3(x_FP(1, i), omega_FP(1, i), E_FP(1, i), 'Marker', 'o', 'SizeData', 60, 'MarkerFaceColor', PS.DRed2, 'MarkerEdgeColor', PS.Red4, 'MarkerFaceAlpha', MarkerAlpha);
Why is this happening? How can I get a smooth and high quality plot?
Problem picture:
Basically I want to have the dots with a certain alpha. plot3() does not allow that so I am using scatter3(). If there is another way of using 'o' Marker with plot3() and get alpha for them I can use that.
  6 个评论
atharva aalok
atharva aalok 2022-1-24
For some reason this pixelation is only happening when displaying.
When I save the figure with 600dpi no pixelation happens.

请先登录,再进行评论。

回答(1 个)

Bjorn Gustavsson
Bjorn Gustavsson 2022-1-24
The painters-renderer that produces vector-format output, like eps doesn't understand alpha-type transparency. Therefore when you have plots utilizing alpha-mapped transparent objects you will get figures saved with the opengl renderer - which understands transparency but produces pixel-based images. There is (as far as I know) nothing much we can do about that.
Hope this clarifies the issue.

类别

Help CenterFile Exchange 中查找有关 Graphics Performance 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by