带实心点的散点图

scatterhist with filled dots

我可以在 Matlab 中生成这样的图形

scatterhist(log(rand(1,100)),log(rand(1,100)),'Marker','o','Direction','out');

但是我试图得到实心点而不是空心圆圈,因为标记似乎出奇地难以做到:函数 scatter 中使用的参数似乎不适用于 scatterhist。快速 Google 没有帮助,其他 Whosebug 显示了类似的图表。

如何获得填充点标记(最佳半透明)?!

谢谢

你想做的是在选项中添加'markerfacecolor','b',但由于某些原因,Matlab 删除了scatterhist 的这个选项。

您可以手动完成,绘制后更改图形属性。 markerfacecolor 当您 select 带有散点的轴并使用选项 >Edit >Figure properties 时出现 markerfacecolor 选项。

或者您可以使用以下命令

scatterhist(log(rand(1,100)),log(rand(1,100)),'Marker','o','Direction','out');
x=get(gca,'children')
x = 
  Line with properties:
              Color: [0 0.447 0.741]
          LineStyle: 'none'
          LineWidth: 0.5
             Marker: 'o'
         MarkerSize: 6
    MarkerFaceColor: 'none'
              XData: [1x100 double]
              YData: [1x100 double]
              ZData: [1x0 double]

  Show all properties

 set(x,'markerfacecolor','k')

我设置的颜色是黑色,你可以设置成任何你想要的颜色。

散点图中的透明度由 'markerfacealpha',0.2'markeredgealpha',0.2 设置(0.2 是本例中的比率)。然而,它不适用于散点主义者(至少在 Matlab 2017a 之前)。如果您需要透明度,最好使用带有子图的散点图和直方图。它更耗时,但应该可以完成工作。