0

素敵なチャートを作成しましたが、1 つ足りないことがあります。その中のどこかにテキストを設定できるようにしたいと思います。最適な解決策は、たとえば、現在の日付がグラフの真ん中に巨大な黄色の文字で叩かれることです。

私はそのようなことをグーグルで調べましたが、リンク(グーグルで検索したことの証拠#1、グーグルで検索したことの証明 #2)のどれも、それが可能かどうかについてのヒントを与えませんでした。実際、2番目のリンクのモックアップ画像は、説明と矢印が後で画像プロセッサで描かれていなければ、私にとっては何かになるでしょう.

注意。全然報告じゃないです。これは、いくつかの系列の値を表示する単なるグラフ (単一の孤立したグラフ) です。外観、凡例などを制御できます。ただし、フローティング テキスト オブジェクト (CSS でフォ​​ーマット可能な DIV が最適です)、スプライト、オーバーレイを配置し、好きなように呼び出して、その値を取得したいと思います。特定のフィールドから (たとえば、現在の日付)。

そして、グラフのどこにでも自由に配置できれば、それはさらに「完璧」ですが、「右上」などのフォームに配置することに落ち着きます。あるいは、2 つの「ビュー」を重ねて組み合わせるオプションがある場合、またはそのようなものを組み合わせることができます (私はこれで茂みの周りを叩いています)。

それは達成可能ですか?

4

2 に答える 2

1

そうです、私は遊んだり、SDKをよく調べたり、少しグーグルを使ったりしました。これは私が思いつくことができる最高のものです。

グラフの任意の位置にテキストを配置する方法は知っていますが、静的なテキストのみを使用します。たとえば、テキストを動的に何かにバインドする方法がわかりません。これは、グラフよりもCRMに関係していると思われますが、多くを見つけることができませんでした。 CRMとチャートのドキュメント。

したがって、TextAnnotationを使用すると、基本的にテキストを好きな場所に配置できることがわかりました。これはAnnotationsコレクションに含まれています。

例えば:

<Chart>
  ...
  <Annotations>
    <TextAnnotation Text="This is an annotation" Name="TextAnnotation1" X="20" Y="50">
    </TextAnnotation>
  </Annotations>
  ...
</Chart>

の位置は相対的であることに注意することが非常に重要TextAnnotationです。たとえば、注釈は左からグラフの幅の20%で表示されます。0,0は左上隅です。MSDNには、ポジショニングに関する詳細があります。

だから私はこのようなチャートを作成することができます:

ここに画像の説明を入力してください

こんにちは世界!注釈です。

このxmlの使用:

<Chart Palette="None" PaletteCustomColors="55,118,193; 197,56,52; 149,189,66; 117,82,160; 49,171,204; 255,136,35; 97,142,206; 209,98,96; 168,203,104; 142,116,178; 93,186,215; 255,155,83">
  <Series>
    <Series ShadowOffset="0" IsValueShownAsLabel="True" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" CustomProperties="PieLabelStyle=Inside, PieDrawingStyle=Default" ChartType="pie">
      <SmartLabelStyle Enabled="True" />
    </Series>
  </Series>
  <ChartAreas>
    <ChartArea>
      <Area3DStyle Enable3D="false" />
    </ChartArea>
  </ChartAreas>
  <Legends>
    <Legend Alignment="Center" LegendStyle="Table" Docking="right" IsEquallySpacedItems="True" Font="{0}, 11px" ShadowColor="0, 0, 0, 0" ForeColor="59, 59, 59" />
  </Legends>
  <Titles>
    <Title Alignment="TopLeft" DockingOffset="-3" Font="{0}, 13px" ForeColor="0, 0, 0"></Title>
  </Titles>
  <Annotations>
    <TextAnnotation Text="HELLO WORLD!" Font="Stencil, 15.75pt, style=Bold, Italic, GdiCharSet=0" Name="TextAnnotation1" X="20" Y="50" ForeColor="Orange">
    </TextAnnotation>
  </Annotations>
</Chart>

それでも要件が満たされない場合は、SSRSレポートまたはダッシュボードにIFrameされた他のカスタムピースを確認することをお勧めします。

于 2012-11-15T23:16:49.277 に答える
1

地図上に説明文を配置するこのリンクを確認することをお勧めします。私はそれを機能させませんでした (どちらもあまり努力しませんでした) が、次のコードでグラフの代わりにテキストを設定するのは非常に簡単です。

<visualization>
  <primaryentitytypecode>blobb</primaryentitytypecode>
  <name>My custom name</name>
  <webresourcename>MyCustomHttpFile</webresourcename>
</visualization>

ときどきフラッシュ テキストで顧客を驚かせたいと思うので、このアイデアは検討する価値があります。奇妙なことに、それを行う方法に関する適切なガイドが見つかりませんでした。

于 2012-11-06T08:30:39.810 に答える