如何在JULIA中用GADFLY实现直方图绘图的精确度

时间:2016-03-02 17:49:33

标签: 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")
                 # width of line
 ), Guide.ylabel("K core"),
 Guide.xlabel("Vertices"))

上面的代码绘制直方图,然后我用另一个函数保存它作为png格式。变量数组的内容是[1,1,1,3,3,3,3,3,3,3]

enter image description here

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

我正在寻找的是,在x轴上会有值1和3,并且条形不会那么厚,并且看到值为1和3会更简单。

任何帮助???

2 个答案:

答案 0 :(得分:2)

您可以使用Guide.xticks

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

答案 1 :(得分:1)

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

为了使其更精确,需要做的一切就是在 Geom.histogram 之后将 Scale.x_discrete 添加到绘图功能。

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轴上的值进行排序。

enter image description here