Changing plot colors directly in .fig files
12 次查看(过去 30 天)
显示 更早的评论
Suppose if I have a plot saved in a folder. I open It with using openfig command and now want to change the colour of two lines (scatter plot as well as dotted line both want to change to red) present in the plot (image shown below). How can it be done? I m trying findall (which finds there exits two lines) and then try to change the color for on the line but it does not change the color.
The comment lines don't particularly work and offer the error is - "Assigning to 2 elements using a simple assignment statement is not supported. Consider using comma-separated list assignment."- if lineC.Color is directly used.
%% Calling the figure from the folder (numb = 4 represent whole frame)
for i=1:length(percent)
fig_psdm = openfig(strcat(num2str(percent(i)),'_percent\BF_alpha_0\PSDM_plot\PSDM_',num2str(numb),'.fig'),"visible");
name_ax(i) = gca; %saving axis layout of the openfig
% lineC = findall(fig_psdm,'Type','line')
% jj = lineC
% lineC(1,1).Color = 'red'
title(Tit(i)) %title for each subplot or titled
grid off
xlim([0.01 1])
ylim([0.1 10])
subtitle(subt(i)) %subtitle = equation of line
end
hold off
采纳的回答
Fangjun Jiang
2022-5-3
Use findobj() to find the line, set the color to be [Red Green Blue]
>> b=findobj(a,'type','line')
b =
Line with properties:
Color: [0 0.4470 0.7410]
LineStyle: '-'
LineWidth: 0.5000
Marker: 'none'
MarkerSize: 6
MarkerFaceColor: 'none'
XData: [1×100 double]
YData: [1×100 double]
ZData: [1×0 double]
b.Color=[1 0 0]
4 个评论
Fangjun Jiang
2022-5-3
It looks like you can do this if setting the same color
set(LineC,'Color',[1 0 0])
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Graphics Object Properties 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!