2016-03-02 73 views
3

我想要創建一個直方圖,該直方圖將顯示圖形中有多少個不同值的頂點。我用Gadfly繪製語言JULIA的這個直方圖。如何使用GULFLY在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")) 

代碼上面的情節直方圖,在此之後,我用另一個函數將它保存爲文件格式。變量數組的內容是[1,1,1,3,3,3,3,3,3,3]

enter image description here

這是我運行這段代碼後得到的。現在這個例子中的圖形有8個頂點,其值爲3,2個頂點的值爲1,而牛ly給了我上面的直方圖。困擾我的是X軸。我不知道爲什麼值1顯示從1到3和值3從3到5.我想使它更精確,但不知道如何。我嘗試了很多代碼的變體和縮寫,但是我無法讓它工作。

我所尋找的是在x軸會有值1和3和酒吧,也不會這麼厚,這將是簡單地看到,值是1分3

任何幫助嗎? ??

回答

1

試圖解決約4小時,並張貼問題在5分鐘內得到解決後:d

爲了使它更精確,一切需要做的是增加Scale.x_discrete後繪製功能Geom.histogram

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

2

您可以使用Guide.xticks爲:

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

我已經走過來解決,但感謝,我會嘗試只是爲了找出解決方案內容和運作是不同的:) –