質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.76%

  • C#

    6573questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • Visual Studio

    1701questions

    Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

軸ラベルに値を対応させたい(普通は勝手に対応してくれるんですが...)。

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 288

P5_USER

score 33

現状

画像
それぞれのデータ(赤線や青線)は構造体のdouble[]に格納されています。
赤線は第1Y軸,青線は第2Y軸に対応しています。

設定はコードで書かず,GUI?みたいなもので設定しています。

実現したいこと

第2Y軸:青色を上にシフトさせたい
(今,-30のラベルのところに0の値がある状態です。)

発生している問題

プロパティでChartArea→Axis→Secondary Y(Value)axis→Minimumを-30にしたのですが,
何故か,第1Y軸の最小値(0)にピタッとくっついて離れてくれません。

試したこと

ネットで解決法を検索してもWPSなる記述だったり,全く違う結果が出てきたりで
解決の糸口になりそうな情報がありませんでした。(単に探し方が下手なだけ?)

補足情報(言語/FW/ツール等のバージョンなど)

言語はC#
開発環境はVisualStudio2017
.NET Framework Version 4.7.02556
です。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+2

何が原因かわかりませんが以下のようにコードから設定したらどうでしょうか。

using System.Drawing;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;

namespace ChartSecondAxisSample
{
    public partial class Form1 : Form
    {
        // 第1系列のデータ
        private double[] _firstDatas = new double[]{10, 8, 6, 8, 10, 12, 14, 16, 18, 20, 18};
        // 第2系列のデータ
        private double[] _secondDatas = new double[] { -10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10 };

        public Form1()
        {
            InitializeComponent();

            // ※ 系列はあらかじめGUIから追加しています

            // 各系列の軸タイプを設定
            chart.Series[0].YAxisType = AxisType.Primary;
            chart.Series[1].YAxisType = AxisType.Secondary;
            //第1軸の最大最小
            chart.ChartAreas[0].AxisY.Maximum = 30;
            chart.ChartAreas[0].AxisY.Minimum = 0;
            //第2軸の最大最小
            chart.ChartAreas[0].AxisY2.Maximum = 20;
            chart.ChartAreas[0].AxisY2.Minimum = -20;
            // 色設定
            chart.Series[0].Color = Color.Red;
            chart.Series[1].Color = Color.Blue;


            // データセット
            for (var i = 0; i < _firstDatas.Length; i++)
            {
                // 系列1
                chart.Series[0].Points.Add(new DataPoint(i, _firstDatas[i]));
                // 系列2
                chart.Series[1].Points.Add(new DataPoint(i, _secondDatas[i]));
            }
        }
    }
}

これにより以下の表示になります。

第2軸ありのChartControl

YAxisTypeプロパティが適切に設定できていないことが原因なような気がしております。
ご確認ください。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/01/05 17:19

    g_uoさん

    ありがとうございます!
    ご指摘の通りYAxisTypeプロパティがprimaryに設定されて(変更しないで)いました。

    階層に分けてくれているのは有難いのですが,
    深層に行くにつれて説明の意味が分からなくなっていました。

    キャンセル

  • 2018/01/05 18:00

    コメントありがとうございます。
    無事解決してなによりです。確かにChartは扱いづらいですね。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.76%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    Scene BuilderでCSSファイルと画像ファイルを読み込んだが、NetBeans上で反映され...

    Scene BuilderでCSSファイル読み込んで、ボタンが平面的になるボタンを作成し、 画像をファイルから読み込んで挿入し、Scene Builderでプレビューすると↓のよ

  • 解決済

    ラベルの値が全て表示されない

    ラベルの値が全て表示されません。 のように記載したのですが... どこを直せば良いのでしょうか?

  • 解決済

    tableview row(cell)

    コード import UIKit class ViewController: UIViewController, UITableViewDelegate, UITableView

  • 解決済

    CentOS7でWebページ公開

    前回からの続き的な質問になるんですが、前回UbuntuでWeb公開をやっていて、回答どうりにやてもうまく行かなく、今回CentOS7(1611)を導入してやっているんですが、これも

  • 解決済

    【Django】Chromeブラウザで画像が正しく表示されない

    Djangoを使い、画像を表示させるプログラムを組んだのですが、Chromeブラウザで正しく画像が表示されません。Chromeでの対処法は全て試しましたが、改善されませんでした。(

  • 解決済

    Monacaでtimepickerの実装

    前提・実現したいこと MonacaでiOS/Andriod両方に対応しているアプリケーションを開発していて、アラーム機能を実装しようと思い、Monacaでtimepickerのよ

  • 解決済

    atom自動補完やり方

    これのプログラミング版になります 今いろいろ調べているのですが、atom自動補完ができません。宜しくお願い致します。 リンク内容 autocomplete-p

  • 受付中

    ER図について

    つぶやきアプリを作っているのですが、 ER図を作るとする例えばどんなものがありますか?? サンプル程度でいいので教えていただきたいです

同じタグがついた質問を見る

  • C#

    6573questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • Visual Studio

    1701questions

    Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。