Graph 如何在JULIA中用牛虻实现直方图绘制的精度

Graph 如何在JULIA中用牛虻实现直方图绘制的精度,graph,julia,gadfly,Graph,Julia,Gadfly,我想创建一个直方图,它将显示图中有多少个不同值的顶点。我使用Gadfly用语言JULIA绘制这个直方图 p = Gadfly.plot(x=int(array[1:end]), Geom.histogram, Theme( panel_fill=color("White"), panel_opacity=0.1, panel_stroke=color("Blue"), background_color=color("White")

我想创建一个直方图,它将显示图中有多少个不同值的顶点。我使用Gadfly用语言JULIA绘制这个直方图

p = Gadfly.plot(x=int(array[1:end]), Geom.histogram, Theme(
 panel_fill=color("White"),
 panel_opacity=0.1,
 panel_stroke=color("Blue"),
               background_color=color("White")
                 # width of line
 ), Guide.ylabel("K core"),
 Guide.xlabel("Vertices"))
上面的代码打印直方图,在此之后,我用另一个函数将其保存为png格式的文件。变量数组的内容为[1,1,1,3,3,3,3,3,3]

这是我运行这段代码后得到的结果。现在这个例子中的图有8个值为3的顶点和2个值为1的顶点,gadfly给了我上面的直方图。困扰我的是x轴。我不知道为什么值1从1到3显示,值3从3到5显示。我想让它更精确,但不知道如何做到。我尝试了很多代码的变体和缩写,但我无法让它工作

我要寻找的是,在x轴上会有值1和3,而条不会那么厚,更容易看到值是1和3


有什么帮助吗?

尝试解决问题大约4小时,发布后问题在5分钟内解决:D

为了使它更精确,需要做的一切就是在几何直方图之后添加Scale.x_discrete到plot函数

p = Gadfly.plot(x=int(array[1:end]), Geom.histogram, Scale.x_discrete, Theme(
panel_fill=color("White"),
panel_opacity=0.1,
panel_stroke=color("Blue"),
           background_color=color("White")
             # width of line
), Guide.ylabel("K core"),
Guide.xlabel("Vertices"))
现在情节更容易阅读。最后一件事是对数组进行排序,这样x轴上的值就可以排序了

您可以使用:

plot(x=rand(10), y=rand(10), Geom.line, Guide.xticks(ticks=ticks, orientation=:vertical))

我已经找到了解决方案,但谢谢,我将尝试找出您的解决方案的作用以及不同之处:)