問題タブ [microsoft-chart-controls]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1031 参照

microsoft-chart-controls - Microsoft Chart Controls グラフへのフッターの追加

Microsoft Chart Controls for .net 4 で作成されたグラフにフッター線を追加する可能性はありますか? この線の左側にロゴ (png 画像) を配置し、右側にテキストを配置したいと考えています。

可能性として、チャートをレンダリングした後、または背景画像を設定した後に、結果の画像にフッターを追加することが頭に浮かびましたが、私が見逃した統合されたより良い可能性がありますか?

0 投票する
1 に答える
3057 参照

c# - 同じグラフに 2 つの異なるグラフを一緒にプロットする

MSChart コントロールを使用していくつかのデータをプロットしていますが、2 つの異なるグラフを同じチャートに一緒にプロットしたいと考えています。たとえば、棒グラフ (series1) と円グラフ (series2) を使用します。

次のコードを使用して、1 つのグラフを使用して 2 つの異なるグラフを表示しようとしています。データは正しく表示されていましたが、1 つの問題は、2 つのグラフ (PIE CHART、BAR CHART) を表示したいのですが、表示されていました ("TWO PIE Charts" )

誰でもこれについて助けることができますか

注:これらすべての操作に1つのチャートを使用しています

0 投票する
2 に答える
3180 参照

.net - asp.net で Microsoft Chart Control によって生成された画像の解像度 (DPI) を設定する方法

.net 用の Microsoft チャート コントロール (.png 画像の作成用) によって作成された画像の画像解像度 (DPI) を定義するにはどうすればよいですか。

チャート コントロールの winforms バージョンにはChart.RenderingDpi[X|Y]-プロパティがありますが、asp.net コントロールの場合、そのようなプロパティが見つかりません。

誰かがこれを行うための解決策に私を導くことができますか?

更新
解決策を探しているときに、チャート コントロールに Paint メソッドがあることがわかりました。これにより、他の DPI 設定で画像を作成することができました。これが正しい方法かどうかはわかりませんが、結果は悪くないようです。コードを回答として投稿しました。誰かがよりきちんとした解決策を持っている場合は、私に知らせてください。

0 投票する
1 に答える
445 参照

.net - 選択時の MSChartControl の奇妙な動作

アプリケーションで MSChartControl を使用しています。チャート コントロールでは、チャート コントロールの選択メカニズムを使用して、ChartArea の CursorX を使用して画像の範囲を選択する画像を表示します。

SelectionRangeChanged イベントでは、ユーザーが選択を行ったときに通知を受け取り、選択されていない領域に色を付けて元の選択を非表示にしたいと考えています。

ClearSelection がないため (少なくともそのようなメソッドは見つかりませんでした)、選択が行われなかったときに Cursor が最初に持っていた値に選択を設定します。

ペイント方式では自分で絵を描きます。

ウィンドウとチャートコントロールのサイズを変更しない限り、これはうまくいくようです。

1) ウィンドウを開始し、何かを選択します 2) チャートコントロールのサイズを変更します (大きい/小さいは関係ありません) 3) 別の選択を行います

-> その結果、明らかにコントロールが一部のグラフィックスを内部的にバッファリングし、コントロールのサイズを変更する前のサイズのチャートが表示されます。

行をコメントアウトすると

できます。しかし、どうすれば選択をクリアできますか?

ありがとうマーティン

0 投票する
0 に答える
493 参照

c# - Microsoft チャート コントロールで x 軸から期間を省略する方法

Visual Studio で Windows アプリケーションを開発し、c#、.Net Framework 4 でコーディングしています。

チャートに、株価の日中の時系列をプロットします。1 日をプロットすると、正常に動作します。ただし、複数日をプロットすると、ある日の市場の閉店時間と翌日の開店時間の間に大きなギャップがあります。系列ポイントには、市場時間外のデータは含まれません。つまり、2011 年 8 月 10 日の最後のデータ ポイントと 2011 年 8 月 11 日の最初のデータ ポイントは次のとおりです。

2011 年 8 月 10 日午後 3 時 59 分、$59.00

2011 年 8 月 11 日午後 9 時 30 分、$59.25

その空白期間を省略したいと思います。どんな助けでも大歓迎です。

(申し訳ありませんが、評判が10ではないため、チャートの画像を投稿できませんが、想像力を働かせていただければ幸いです!)

0 投票する
2 に答える
1152 参照

c# - ページにマスターページがある場合にのみ、IEでMicrosoftChartControlをクリックすると画像マップが表示されます

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

上の画像をよく見ると、MicrosoftChartControlでヒットボックスがレンダリングされているのがわかります。これは、MicrosoftChartControlのDataPointをクリックすると表示されます。DataPointにはポストバック値が定義されており、チャートにはOn_Clickイベントハンドラーが実装されています。この画像マップを右クリックまたは左クリックでレンダリングすることができます。

私の設定はそのようなものです:

  • マスターページがある場合を除いて、完全に空の.aspxベースページ。マスターページの設定は、「WebForms」マスターページと「ルート」マスターページがあるという点で少しユニークです。「WebForms」マスターページは「Root」マスターページから継承します。これは、ASP.NETAJAXページがMVCソリューションに統合されているためです。他のブラウザでのこの設定で問題は発生しません。(また、テスト中に、中間のMasterPageへの依存を削除しました。問題はまだ存在していました。マスターページの階層はこの問題の原因ではないと確信しています。)
  • MasterPageFile = "〜/ Views / Shared / WebForm.master"は、私のベースページのMasterPage宣言です。

WebFormMasterPageは次のようになります。

他にもコンテンツプレースホルダーがありますが、これが唯一の関連するものだと思います。このプレースホルダーを開始フォームタグでラップしていることに注意してください。これにより、MVCで通常行われているように、「form」タグをHtml.StartForm()およびEndForm()から分離できます。

Root.Master:

繰り返しになりますが、他のプレースホルダーもありますが、関連するのはこれらだけだと思います。ページ上のすべてのCSSを無効にしましたが、まだこれが発生しています。

つまり、このシナリオでは、イメージマップのクライアントIDが適切に処理されていないと推測できます。UniqueIDは、コンテンツプレースホルダーがあるという事実によって変更されます。以下を見てください。

私はWeb開発に比較的慣れていません。これをさらにデバッグしたり、問題にパッチを適用したりするための私のオプションは何ですか?問題を紹介しているのはマスターページであるという事実に遭遇するために、私は暗闇の中で弾丸を撃っていました。

読んでくれてありがとう。乾杯。

編集:互換モードを有効または無効にした場合に発生します。フォームタグをベースページのコンテンツプレースホルダー内に移動しましたが、違いはありませんでした。

EDIT2:中間のマスターページも削除しました。これが大きな問題の原因である可能性があると感じましたが、この問題は、使用されているマスターページが1つだけの場合でも発生します。

TL; DR:チャートコントロールがContentPlaceHolder内にある場合、画像マップを含む領域を左クリックまたは右クリックすると、画像マップを表示できます。これは、InternetExplorerでのみ発生します。

(報奨金後の編集):

  • Ryan Ternierが提供するCSSコードスニペットを使用して、CSSをリセットしてみました。以下のコードスニペットを使用して参照しました。Dashboard.cssのコンテンツは、Ryanによって提供されたコードスニペットでした。無効。

    /li>
  • リンクのフォーカスをクリアしてみました。ここでの私の懸念は、私がクリックしているのは実際にはリンクではなく、地図付きの画像であり、地図が表示されるようになっていることです。無効。

  • AdobeDreamweaver用のLinkScrubberアドオンについて読みました。これは、目前のプロジェクトには関係がないようでした。Visual Studio 2k10を使用していますが、VSに匹敵する手順を見つけるために、いくつかのグーグルを実行しました。何も見つかりませんでした。

0 投票する
3 に答える
6719 参照

asp.net - mschartチャートをExcelにエクスポートする方法は?

Mschartでグラフを作成しました。作成したグラフをExcelにエクスポートしたいです。次のコードを使用していますが、Excel で開くと、チャートではなく不明なコードが表示されます。

0 投票する
1 に答える
608 参照

asp.net - Mschart で作成された編集可能なグラフを Excel にエクスポートする方法は?

mschartで作成したグラフをエクセルにエクスポートしたい。

グラフの画像ではなく、ユーザーが値を変更できるExcelの実際のグラフが必要です。

解決策は何ですか?

0 投票する
2 に答える
3780 参照

algorithm - 折れ線グラフの最小/最大 Y 軸値の計算

折れ線グラフの Y 軸の境界の計算に関して、Excel がどのように「正しい」と感じるかを再現しようとしています。

例として、現在 3 つのデータポイントを含むグラフがあるとします。(0, 100)、(1,500)、(2,930)。

私が現在持っている単純なコードは、Y 軸の最小値を 100 に設定し、Y 軸の最大値を 930 に設定します。0 の値を持たないデータセットがチャートのサイズを歪めないようにするという考えでした。これは機能しますが、もっと良くなる可能性があると感じています。

上記の例では、Excel は 0 ~ 1000 の範囲のデータポイントをプロットします。同じ「気持ちいい」範囲をプロットする一般的なアルゴリズムを作成しようとしています。ただし、少しトリッキーであることが証明されています。

いくつかの情報が必要だと思います:

  • 上限値と下限値の桁数 (10 の累乗)。
  • 常にデータ ポイントの上限/下限を取得します。データ ポイントがプロットされた最大/最小範囲と同じ値を共有する場合は明確ではありません。

そこから、私は少し途方に暮れています。

最大データ ポイント値として 930 を使用すると、その桁数は 3 であることがわかります。したがって、最大値に 1 を追加し、残りをゼロにすると、1000 になります。

最大データ ポイント値として 1030 を使用すると、その桁数は 4 であることがわかります。最大値に 1 を追加し、残りを 0 にすると、結果は 2000 になります。 )、(1,500)、(2,930)、(3,1030)。

この問題は、値が大きくなるとすぐに悪化します。常に最大値を大きくするのは適切ではありませんが、そうなる場合もあります。より良いアプローチへの洞察を得ることができるこれに関する経験はありますか?

0 投票する
2 に答える
841 参照

c# - この不正な JavaScript 文字を除外するにはどうすればよいですか? 実行時に生成されます

Microsoft Chart Controls を使用してカスタム ツールチップを生成しようとしています。Microsoft Chart Controls は、表示するデータを自動化するのに役立つキーワードを使用する機能をサポートしています。

例えば、

上記のコードでは、「#VALY」と「#VALX」がキーワードです。実行時に、これらのキーワードは実際の値に置き換えられます。私のシナリオでは、#VALY は double で、#VALX は日時です。

観察:

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

これで、データ シリーズのツールチップ プロパティを使用すると、これは問題なく機能します。残念ながら、Firefox とOperaは (簡単に) 複数行のツールチップをサポートしていません。カスタム ツールチップを使用して、この機能を不正に使用しようとしています。

そのため、onmouseover および onmouseout コードがあります。これは、ツールチップを担当する JavaScript コードです。

問題は、#VALX が評価されるときに、無効な JavaScript 文字が含まれていることです。これにより、「Uncaught SyntaxError: Unexpected token ILLEGAL」というエラー メッセージが表示されます。

ツールチップをメソッド JavaScriptStringLiteral でラップしたことに注意してください。ユーティリティ関数は次のとおりです。

#VALX が実行時に評価されなかった場合、このユーティリティ メソッドで問題が解決すると思います。しかし、そのため、ユーティリティ関数は "#VALX" を文字列リテラルとして評価します。次に、不正な文字をフィルタリングした後、#VALX が評価され、不正な文字が JavaScript に挿入されます。

この問題を防ぐ方法はありますか? C# のパスの "@" 文字に相当するものはありますか?


私は解決策を見つけましたが、それはばかげています。

これは「\\n」と表示されていることに注意してください。これは以前は Environment.NewLine と呼ばれていましたが、これは機能しません。また、Environment.NewLine または "\n" を使用すると、実行時の評価のため、後で "#VALX" を編集できません。したがって、X 値を追加するときはエスケープされた改行を使用する必要があるため、#VALX がそれを取得したときに既に適切にフォーマットされています。