Transparency (MarkerFaceAlpha) in scatter not working
이전 댓글 표시
I have the following lines in my code. I'm trying to make certain points transparent, but whatever I do and even when lowering "tr" to 0.00001, the points just do not get transparent. I've also tried it with the t.MarkerFaceAlpha in the code, also does not help. Why does the transparency not work? Is there another way to make it work?
batch = 100;
batcho = 0:batch-1;
for i=1:c_max;
color = cm(i,:)
x = cl{i}(:,1);
y = cl{i}(:,2);
size = (cl{i}(:,3).^1)*2;
tr = (cl{i}(:,3).^5)*1;
for j = 1 : batch : size(cl{i}(:,1),1) - batch + 1
t = scatter(x(j+batcho), y(j+batcho), size(j+batcho), 'MarkerFaceAlpha', tr(j), 'MarkerEdgeColor',color);
t.MarkerFaceAlpha = tr(j)
end
t = scatter(x(j+batch:end), y(j+batch:end), size(j+batch:end),'MarkerFaceAlpha', tr(j), 'MarkerEdgeColor',color);
t.MarkerFaceAlpha = tr(j)
end
I'm using batch in my code because I have 250k points to plot. cl contains different groups that add up to 250k data points
댓글 수: 8
Adam
2019년 5월 22일
I'm not sure what you are aiming to do here. You create a lot of scatter plots that just all keep replacing each other and only the final one will remain at the end of this code. You would need a
hold on
instruction (or preferably giving it an axes handle) to keep all of your scatter plots.
mootje_3000
2019년 5월 22일
mootje_3000
2019년 5월 22일
mootje_3000
2019년 5월 22일
Walter Roberson
2019년 5월 23일
h = scatter(rand(50,1), rand(50,1), 'g', 'filled', 'MarkerFaceAlpha', 0.3)
is working for me in R2019a on Mac.
mootje_3000
2019년 5월 23일
Adam
2019년 5월 23일
Within a single scatter plot object all points must have the same transparency. This appears to be what your original code is doing too since you are using a new call to scatter every time round your for loop where your alpha value changes.
mootje_3000
2019년 5월 23일
편집: mootje_3000
2019년 5월 23일
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Discrete Data Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!