Plots画散点图怎么把图形设置成空心的啊,画出来的都是实心的
using Plots
plot(1:10, 1:10, seriestype = :scatter)
Plots画散点图怎么把图形设置成空心的啊,画出来的都是实心的
using Plots
plot(1:10, 1:10, seriestype = :scatter)
首先了解一下绘制散点图的一些相关名词,marker*
. 官方文档给了一张表 Series Attributes · Plots (juliaplots.org),虽然不是很美观,但是列举了所有目前可以调的参数。
具体到你的问题,一个点包括很多参数,比如中心位置、形状、填充颜色、边缘颜色、边缘粗细、透明度等等。
using Plots # default gr() backend
y = [1,2,3]
scatter(y,
markershape = :hexagon,
markersize = 20,
markeralpha = 0.6,
markercolor = :white,
markerstrokewidth = 3,
markerstrokealpha = 1.0,
markerstrokecolor = :black)
具体的参数、意义、和备选项,请参考文档。
问题在于理解什么是“实心”?实心跟形状是没有关系的,跟透明度和颜色有关系:一个圆、三角、五角星都可以是实心的,也可以是空心的。
根据 henry2004y 同学给出的文档,我给出一个简单的例子。
可以这样考虑空心:内部填充与背景相同的颜色,边界为与背景不同的颜色,代码如下:
using Plots
x = 1:10
y = -2*x
plot(x, y, markershape = :circle,
markercolor = :white,
markerstrokecolor = :black)
绘制出来的结果为:
看看是不是你要的结果。
查阅 Series Attributes · Plots 可以了解更多信息。
顺便说一句, 在逛英文社区的时候,发现了这个帖子 How to get empty markers, Plots, gr() backend - General Usage - JuliaLang,但其中的部分信息似乎已经过时了。
不过经过实验, gr()
后端不支持透明色的问题还存在。
非常感谢两位大佬,懂了,谢谢!