Julia 中的小提琴图问题:不能对 2 个数据集使用相同的 x 位置
Violin plot problem in Julia: Cannot use same x-positions for 2 datasets
我使用 Julia 版本 1.4.2 并想制作小提琴图,其中我有两个数据集 A 和 B,我想使用相同的 x 刻度绘制它们。我希望数据 A 是每个 x 位置的左半部分,B 是右半部分。
这里是一个测试例子:
using StatsPlots
A=[rand(10), rand(12), rand(44)]
B=A./2
X=[1,2,3]
StatsPlots.violin(A,xticks=X,side=:left)
StatsPlots.violin!(B,xticks=X,side=:right)
当我 运行 这样做时,数据 A 按我的意愿绘制,但数据 B 被移动了。我希望在 x 位置 1 的左边有 A,右边有 B,以便将它们彼此相邻进行比较。但是,我得到一个图,其中 B 的数据位于 x 位置 4-6(虽然没有标记的刻度):
我正在使用一个可行的解决方案,但有点难看:
using StatsPlots
A=[rand(10), rand(12), rand(44)]
B=A./2
X=[[1],[2],[3]] #this is changed compared to my initial post
StatsPlots.violin(X[1],A[1],side=:left)
StatsPlots.violin!(X[1],B[1],side=:right)
for i=2:length(X)
println(length(X))
StatsPlots.violin!(X[i],A[i],side=:left)
StatsPlots.violin!(X[i],B[i],side=:right)
end
current()
figure
我使用 Julia 版本 1.4.2 并想制作小提琴图,其中我有两个数据集 A 和 B,我想使用相同的 x 刻度绘制它们。我希望数据 A 是每个 x 位置的左半部分,B 是右半部分。
这里是一个测试例子:
using StatsPlots
A=[rand(10), rand(12), rand(44)]
B=A./2
X=[1,2,3]
StatsPlots.violin(A,xticks=X,side=:left)
StatsPlots.violin!(B,xticks=X,side=:right)
当我 运行 这样做时,数据 A 按我的意愿绘制,但数据 B 被移动了。我希望在 x 位置 1 的左边有 A,右边有 B,以便将它们彼此相邻进行比较。但是,我得到一个图,其中 B 的数据位于 x 位置 4-6(虽然没有标记的刻度):
我正在使用一个可行的解决方案,但有点难看:
using StatsPlots
A=[rand(10), rand(12), rand(44)]
B=A./2
X=[[1],[2],[3]] #this is changed compared to my initial post
StatsPlots.violin(X[1],A[1],side=:left)
StatsPlots.violin!(X[1],B[1],side=:right)
for i=2:length(X)
println(length(X))
StatsPlots.violin!(X[i],A[i],side=:left)
StatsPlots.violin!(X[i],B[i],side=:right)
end
current()
figure