如何在每个元素的 x 轴上显示标签?

How to show labels on x axis for each element?

我有包含文件名和编号的元组序列。

我想在 X 轴上有文件名的位置绘制柱形图。

我的问题是现在 X 轴下只显示 3 个标签(文件名)。这可能是因为屏幕上放不下更多内容。或者 X 轴间隔有误?

如何让图表显示所有文件名?也许有办法将这些标签逆时针旋转 90 度以为更多标签腾出空间?

您应该可以使用:

|> Chart.WithXAxis (LabelStyle = ChartTypes.LabelStyle(Angle = -45, Interval = 1.0))

-45 的角度给出了一个很好的斜率,1.0 的间隔意味着什么都没有被排除。

这是我在 FSI 中提出的概念证明:

#load "C:/Somewhere/packages/FSharp.Charting.0.90.7/FSharp.Charting.fsx"
open FSharp.Charting;;

let data = 
    [
        ("Foo.jpg", 12)
        ("Bar.jpg", 22)
        ("Another.doc", 8)
        ("OneMore.txt", 15)
        ("LastOne.txt", 17)
        ("ReallyLastOne.txt", 6)
        ("Foo.jpg", 12)
        ("Bar.jpg", 22)
        ("Another.doc", 8)
        ("OneMore.txt", 15)
        ("LastOne.txt", 17)
        ("ReallyLastOne.txt", 6)
    ];;

    data
    |> Chart.Line
    |> Chart.WithXAxis (LabelStyle = ChartTypes.LabelStyle(Angle = -45, Interval = 1.0))
    ;;