0

TeeChart MonoDroid バージョンの評価を開始したばかりで、次のコードにいくつかの小さな問題があります。

TChart _Chart = new TChart(context);
Bar _Bar1 = new Bar(_Chart.Chart);
Bar _Bar2 = new Bar(_Chart.Chart);

_Chart.Axes.Left.Increment = 25;
_Chart.Axes.Left.SetMinMax(0, 100);
_Chart.Axes.Left.Labels.Style = AxisLabelStyle.Mark;
_Chart.Axes.Visible = false;
_Chart.Walls.Left.Visible = false;
_Chart.Panel.Gradient.Visible = false;
_Chart.Panel.Transparent = true;
_Chart.Walls.Back.Color = System.Drawing.Color.White;
_Chart.Walls.Back.Width = 200;
_Chart.Walls.Back.Transparency = 90;
_Chart.Walls.Back.Gradient.Visible = false;
_Chart.Walls.Bottom.Size = 10;
_Chart.Walls.Bottom.Width = 200;
_Chart.Legend.Visible = false;
_Chart.Header.Visible = false;
_Chart.Aspect.View3D = true;
_Chart.SetBackgroundColor(Color.Transparent);

_Bar1.Add(50, "50%");
_Bar1.Depth = 10;
_Bar1.Pen.Color = System.Drawing.Color.Red;
_Bar1.Color = System.Drawing.Color.Red;
_Bar1.MarksOnBar = true;
_Bar1.MultiBar = MultiBars.Stacked;
_Bar1.Marks.Style = MarksStyles.Label;
_Bar1.Marks.Transparent = true;
_Bar1.Marks.Font.Color = System.Drawing.Color.White;
_Bar1.Marks.Font.Size = 18;
_Bar1.Marks.Font.Bold = true;
_Bar1.CustomBarWidth = 75;
_Bar1.MarksLocation = MarksLocation.Center;

_Chart.Series.Add(_Bar1);

_Bar2.Add(50, "50%");
_Bar2.Depth = 10;
_Bar2.Pen.Color = System.Drawing.Color.Black;
_Bar2.Color = System.Drawing.Color.Black;
_Bar2.MarksOnBar = true;
_Bar2.MultiBar = MultiBars.Stacked;
_Bar2.Marks.Style = MarksStyles.Label;
_Bar2.Marks.Transparent = true;
_Bar2.Marks.Font.Color = System.Drawing.Color.White;
_Bar2.Marks.Font.Size = 18;
_Bar2.Marks.Font.Bold = true;
_Bar2.CustomBarWidth = 75;
_Bar2.MarksLocation = MarksLocation.Center;

_Chart.Series.Add(_Bar2);

AbsoluteLayout absl = new AbsoluteLayout(this);

absl.SetBackgroundColor(Color.Transparent);

absl.AddView(_Chart, new AbsoluteLayout.LayoutParams(400, 1200, 0, 0));

これにより、赤と黒の間で 50% 分割された、積み上げられた単一の棒が作成されます。私の問題は次のとおりです。

1)何を試しても、ビューを透明にすることはできません-基になるビューをチャートを通して表示したいです。

2) 底の「壁」をこれ以上深くすることはできないようです - バーの深さと同じくらい深くしたいです。

次のコードを使用してグラフを更新しようとすると、「フラッシュ」の問題も発生します。

_Chart.Series[0].Clear();
_Chart.Series[1].Clear();

_Bar1.Add(HistoryRed, String.Format("{0:0,0.00}%", HistoryRed));
_Bar1.Depth = 10;
_Bar1.Pen.Color = System.Drawing.Color.Red;
_Bar1.Color = System.Drawing.Color.Red;
_Bar1.MarksOnBar = true;
_Bar1.MultiBar = MultiBars.Stacked;
_Bar1.Marks.Style = MarksStyles.Label;
_Bar1.Marks.Transparent = true;
_Bar1.Marks.Font.Color = System.Drawing.Color.White;
_Bar1.Marks.Font.Size = 18;
_Bar1.Marks.Font.Bold = true;
_Bar1.CustomBarWidth = 75;
_Bar1.MarksLocation = MarksLocation.Center;

_Chart.Series[0].Add(_Bar1);

_Bar2.Add(HistoryBlack, String.Format("{0:0,0.00}%", HistoryBlack));        
_Bar2.Depth = 10;
_Bar2.Pen.Color = System.Drawing.Color.Black;
_Bar2.Color = System.Drawing.Color.Black;
_Bar2.MarksOnBar = true;
_Bar2.MultiBar = MultiBars.Stacked;
_Bar2.Marks.Style = MarksStyles.Label;
_Bar2.Marks.Transparent = true;
_Bar2.Marks.Font.Color = System.Drawing.Color.White;
_Bar2.Marks.Font.Size = 18;
_Bar2.Marks.Font.Bold = true;
_Bar2.CustomBarWidth = 75;
_Bar2.MarksLocation = MarksLocation.Center;

_Chart.Series[1].Add(_Bar2);

ビュー全体が破棄されて再作成されたように見えます。これにより、ビューが消えて再表示されるときに短いフラッシュが発生します。点滅せずにチャートを更新する方法はありますか?

4

1 に答える 1

0

1)何を試しても、ビューを透明にすることはできません-基になるビューをチャートを通して表示したいです。

バックウォールも透明に設定する必要があります。

  _Chart.Walls.Back.Transparent = true;

2) 底の「壁」をこれ以上深くすることはできないようです - バーの深さと同じくらい深くしたいです。

Chart3DPercentでそれを変更できます:

  _Chart.Aspect.Chart3DPercent = 25;

ビュー全体が破棄されて再作成されたように見えます。これにより、ビューが消えて再表示されるときに短いフラッシュが発生します。点滅せずにチャートを更新する方法はありますか?

最近、ズームとスクロールの両方を無効にする MfA の新機能を実装しました。

  _Chart.Zoom.Style = Steema.TeeChart.ZoomStyles.None;

ズームやスクロールはサポートされていないため、チャートはより効率的な方法でレンダリングできます。TeeChart Mono for Androis インストーラーには、リアルタイム チャート作成のデモが含まれています。

于 2012-10-11T11:41:31.237 に答える