【发布时间】:2017-02-02 05:24:29
【问题描述】:
问题
我在两个不同的图中绘制了两个不同的数据集,并且我希望图表具有相同的颜色(蓝色)。显然,我认为这很容易通过设置标记和线条的颜色来完成,但是虽然我使用相同的 RGB 代码,但绘图显示为不同的 蓝色。
下面的插图显示了不同的外观,如果在 Matlab 中查看或导出为 png、pdf 或 jpeg,此问题是相同的。彩色打印版本也显示不同的颜色。我知道颜色是相似的,但如果观察得当,它们是不一样的。为了确保,我确实以相同的大小、相同的属性、相同的所有内容导出它们。
问题
我可能有一个简单的绘图错误吗?或者有没有办法解决这个问题?我找不到解决问题的方法。 非常感谢您的帮助!
情节2
情节 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
【问题讨论】:
-
我不确定我是否理解这个问题。你问为什么 Plot2 中的两条蓝线略有不同?还是要将 Plot2 中的 所有 行设为蓝色?
-
情节 1 的蓝色和情节 2 的蓝色至少在我的计算机和打印输出中是不同的
-
不知道该告诉你什么 - Plot1 和 Plot2 中的蓝线在我的机器上看起来相同。难道仅仅是线条粗细的差异使它们看起来像不同深浅的蓝色吗?你不是在问轴着色,是吗?
-
MATLAB 在线条上使用抗锯齿功能,因此它可能看起来稍微浅一些,但如果您在线条中间取样,它们的颜色完全相同
-
@KiW 还是一样的蓝色。最好使用像素颜色检查器工具检查颜色,而不是依靠您的眼睛。