やること
EXCELで系列名を多く使用する散布図を作成する際のメモをまとめておく。
事前確認:Qiitaでの記事
ここで、以下の検索をしたところ、47件ヒットした。(2024/11/24時点)
「EXCEL 散布図 系列 -tag:Python」の検索結果 - Qiita
ちなみに、以下の検索をしたところ、83件ヒットした。(2024/11/24時
「EXCEL 散布図 系列」の検索結果 - Qiita
さらに、以下の検索をしたところ、299件ヒットした。(2024/11/24時点)
「EXCEL 散布図」の検索結果 - Qiita
以下、4種類(7件)紹介。なお上記の通り、他言語連携は除き、統計関連も省く。
グラフの作り方
Excel 2013 > 散布図を開く > Alt + n, d, [Enter] ##migrated - Qiita
最終更新日 2017年05月24日 投稿日 2016年12月19日
EXCELで散布図を作成する際に使用するショートカットの紹介。
Excel > ヘッダ項目があるファイルから時系列グラフ作成 #Procedure - Qiita
最終更新日 2018年03月15日 投稿日 2016年06月13日
時系列データを散布図でなく、2D折れ線としてグラフ作成。
表示項目
理系が使ってもそれほど怒られないグラフをExcelで その2 #ExcelVBA - Qiita
投稿日 2017年02月15日
理系が使ってもそれほど怒られないグラフをExcelで その3 #ExcelVBA - Qiita
投稿日 2017年02月17日
Excelのグラフの近似曲線のラベルを任意の角度に傾ける、他 #初心者 - Qiita
投稿日 2017年02月23日
分布図の表示項目の設定変更。
csvファイルからグラフ化
Excel VBAで複数項目の時系列csvファイルをグラフ化 #ExelVBA - Qiita
最終更新日 2024年04月25日 投稿日 2024年04月24日
csvの時系列データのグラフ化マクロ。
VBA関連
vba グラフの作る方法 #Excel - Qiita
最終更新日 2015年06月20日 投稿日 2015年06月20日
VBAでグラフを作る方法。
メモ:1つずつ系列にする
例えばこの様なデータを散布図で表示する。
1 | 2 | 3 |
---|---|---|
A | 0.4476 | 0.4074 |
D65 | 0.3127 | 0.3290 |
C | 0.3101 | 0.3162 |
結果
このような「セルの値」を利用してラベルを付ける場合が多いかと思います。
課題
「D65を非表示にしたい」といった場合に不便
1つの系列にしているので、データ1つだけを非表示にしにくい。
対応
1行ごとに系列へ入力する。
データ数が多いと大変なので、これをマクロ化。
Attribute VB_Name = "散布図"
Option Explicit
Sub 散布図変更()
'-----データ並び-----
' Sheet1(s_nameで変更可能)に以下のデータ
' A列 系列名(1行目は説明)
' B列 x軸(1行目は説明)
' C列 y軸(1行目は説明)
' 行数 変数jに仮置き(データは2行目から故、データ数=j)
Dim y_name As String
y_name = Cells(1, 3)
Dim s_name As String
s_name = "Sheet1"
Dim i As Integer
Dim j As Long
j = 3 'Cells(Rows.Count, 1).End(xlUp).Row -1
'-----グラフ作成-----
With ActiveSheet.Shapes.AddChart.Chart
.ChartType = xlXYScatter
.SetSourceData Range(Cells(1, 2), Cells(j + 1, 3))
.Parent.Name = "散布図1"
End With
ActiveSheet.ChartObjects("散布図1").Activate
'-----系列登録-----
For i = 2 To j + 1
ActiveChart.SeriesCollection.NewSeries
With ActiveChart.FullSeriesCollection(i)
.Name = "=" & s_name & "!$A$" & i
.XValues = "=" & s_name & "!$B$" & i
.Values = "=" & s_name & "!$C$" & i
End With
Next i
'-----グラフ作成で作成された系列削除-----
ActiveChart.FullSeriesCollection(y_name).Delete
'-----ラベル変更-----
For i = 1 To j 'j = ActiveChart.FullSeriesCollection.Count
With ActiveChart.FullSeriesCollection(i)
.Select 'マーカー選択
.ApplyDataLabels 'データラベル表示
.DataLabels.Select 'データラベル選択
End With
Selection.ShowSeriesName = True '系列名:表示
' Selection.ShowCategoryName = False 'X値:非表示
Selection.ShowValue = False 'Y値:非表示
Next i
'-----系列グラフ変更-----
For i = 1 To j
ActiveChart.FullSeriesCollection(i).Select
With Selection
.MarkerStyle = 8 'Circle
.MarkerSize = 5
.MarkerBackgroundColor = RGB(0, 0, 255) 'マーカー塗りつぶし(単色)
.MarkerForegroundColor = RGB(0, 0, 255) 'マーカー枠線(単色)
End With
Next i
End Sub