2017-01-10 32 views
0

我有一個德爾福柏林計劃顯示一個條形圖,我希望每個酒吧上面的標籤顯示數值,和另一個標籤下面顯示的說明,像一週中的一天。如果我使用2個按鈕,顯示一個或另一個按鈕,我可以同時使用這兩個按鈕,但是有沒有辦法在條形圖上顯示2個標籤,在條形圖上方顯示2個標籤?在這個程序中,button2在上面顯示一個標籤,在下面顯示一個軸,但是它爲每個小節顯示兩次相同的信息。TCHART與德爾福 - 不能有酒吧展示金額和文字描述

我試着在之前的文章中提出這個問題,但答覆中沒有足夠的空間來添加足夠的細節。

procedure TForm1.Button1Click(Sender: TObject); 
var 
    i : integer; 
begin 
    chart1.series[0].clear; 
     for i := 1 to 4 do 
      chart1.series[0].add(100+5*i,'',clred); 
end; 

procedure TForm1.Button2Click(Sender: TObject); 
var 
    i : integer; 
begin 
    chart1.series[0].clear; 
    day[1] := 'Sun'; 
    day[2] := 'Mon'; 
    day[3] := 'Tues'; 
    day[4] := 'Wed'; 
    for i := 1 to 4 do 
     chart1.series[0].add(100+5*i,day[i],clred); 
end; 
+0

你上一個問題問*刪除每個欄上的文本*,現在你發佈一個關於如何放回它的問題?並且請至少努力正確格式化您的代碼。如果您不確定如何,請單擊文本區域右上角的*?*按鈕以獲取一些說明。 –

+0

「* ...但答覆中沒有足夠的空間添加足夠的詳細信息... *」您確實知道您可以[編輯](http://stackoverflow.com/posts/41559446/edit)您的帖子,不是嗎?只需使用標籤下面的*編輯*按鈕即可打開編輯器。 –

+0

感謝您的回覆Ken&T​​om。最初,顯示的標籤包含隨機數,並且出於未知原因,它會自行修復。我很高興看到它顯示了我添加到每個系列的價值,下一張海報提供瞭解決方案。我如何將它標記爲已回答? – SteveL

回答

1

默認情況下,該系列標誌被設置爲smsLabelOrValue和軸標籤樣式設置爲talAuto;這將顯示點標籤(如果存在)或點值(如果該點沒有標籤)。

要改變這種行爲,你可以改變這些屬性:

  • 系列標誌風格:

    Chart1.Series[0].Marks.Style:=smsValue; 
    

    可能的值:

    smsValue,    { 1234 } 
    smsPercent,   { 12 % } 
    smsLabel,    { Cars } // If label is empty, no mark will be displayed 
    smsLabelPercent,  { Cars 12 % } 
    smsLabelValue,  { Cars 1234 } 
    smsLegend,   { (Legend.Style) } 
    smsPercentTotal,  { 12 % of 1234 } 
    smsLabelPercentTotal, { Cars 12 % of 1234 } 
    smsXValue,   { 1..2..3.. or 21/6/2014 } 
    smsXY,    { 123 456 } 
    smsSeriesTitle,  { Series1 } 
    smsPointIndex,  { 1..2..3... } 
    smsPercentRelative, { 100%..90%..120%... } 
    smsLabelPercentValue, { Cars 12 % 1234 } 
    smsLabelOrValue 
    
  • 軸標籤樣式:

    Chart1.Axes.Bottom.LabelStyle:=talValue; //talAuto, talNone, talValue, talMark, talText, talPointValue 
    

在你的情況,這將在Button2Click代碼給出了期望的結果:

Chart1.Series[0].Marks.Style:=smsValue; 

desired result

+0

非常感謝。它的工作方式與我想要的完全一樣。 – SteveL

+1

不客氣!請注意,您可以接受答案 – Yeray

0

Yeray的回答是解決方案。重複此處:Chart1.Series [0] .Marks.Style:= smsValue;

+0

而不是重複正確的答案,[接受](http://stackoverflow.com/help/accepted-answer)答案。 –

+0

來自以上鍊接:*驗收通過問題原始作者接受的答案旁邊的彩色複選標記表示。 –