问题
我正在两个不同的图中绘制两个不同的数据集,我希望图表颜色相同(蓝色)。显然,我认为这很容易通过设置标记和线条的颜色来完成,但是虽然我使用相同的RGB代码,但是图形显示的颜色与蓝色不同。
下面的插图显示了不同的外观,如果在Matlab中查看或导出为png,pdf或jpeg,则此问题相同。彩色打印版本也显示不同的颜色。我知道颜色是相似的,但如果看得当,它们就不一样了。而且为了确保,我确实以相同的尺寸,相同的属性,相同的一切输出它们。
问题
我可能有一个简单的阴谋错误吗?或者有办法解决这个问题吗?我找不到解决问题的方法。 非常感谢帮助!
Plot2
情节3
代码1
y=[0.3700 0.3600 0.350 0.3398 0.325 0.30]
h=plot(1:6,y,'Marker','o','Color',[ 0 0.4470 0.7410], 'MarkerFaceColor', [ 0 0.4470 0.7410], 'LineWidth', 1.5)
hold on
ax=gca;
ax.YLabel=ylabel('Test');
ax.XLabel = xlabel('Year');
l=legend('Whatever the legend says')
set([gca,ax.XLabel,ax.YLabel], 'FontName', 'Helvetica','FontSize', 8)
set(l,'Fontsize',8,'Location', 'southoutside', 'Orientation','horizontal')
set(gca,'LineWidth',1.0)
hold off**
代码2
h=figure
hold on
yyaxis left
l1=plot(1:6,1:6);
l2=plot(1:6,2:7);
hYLabel=ylabel('Test');
yyaxis right
r1=plot(1:6,3:8);
hYLabel=ylabel('Test');
hXLabel = xlabel('Test');
a=sprintf('TestTest\n Test');
b=sprintf('Test Test\n Test');
c=sprintf('Test & Test\nTest Test');
hLegend=legend([l1,l2,r1,], a, b, c);
set([gca,hXLabel,hYLabel,hLegend] , 'FontName' , 'Helvetica','FontSize', 8)
set(hLegend,'Fontsize',8,'Location', 'southoutside', 'Orientation','horizontal')
set(gca,'LineWidth',1.0)
ax=gca;
set(l1, 'LineWidth',1.5,'LineStyle','-','Color',[0 0.447 0.7410])
set(l2, 'LineWidth',1.5,'LineStyle','-.','Color',[0 0.447 0.7410])
set(r1, 'LineWidth',1.5,'LineStyle','-')
hold off
答案 0 :(得分:0)
最新版本的MATLAB在显示和打印图形时使用抗锯齿(除非明确禁用),因此相同颜色的较细线可能看起来比同一颜色的较粗线条更亮。
您可以选择禁用图形
的消除锯齿功能set(gcf, 'GraphicsSmoothing', 'off')
或者全球所有数字
set(0, 'DefaultFigureGraphicsSmoothing', 'off')
当您使用像素颜色检查工具而不是依靠您的眼睛时,上面张贴的所有图像都是相同的蓝色。