엑셀로 간단하게 논문용의 그래프 작성(차트 영역과 플롯 영역의 고민으로부터 안녕)

엑셀 VBA를 활용하여 누구나 쉽게 논문용 그래프 작성을 자동 작성할 수 있게 되는 기사입니다. 논문용의 그래프는 파워 포인트로 작성하는 파이므로, 파워 포인트용으로 엑셀의 그래프를 가공합니다.
엑셀 VBA의 사용법은 검색해 주세요.
또, 마지막 기사 는 보다 상세하게 그래프의 설정을 할 수 있으므로 참고로 해 주세요.

VBA 코드



시간이 없는 사람이나 일단 움직이면 좋다고 하는 사람은, 아래의 코드를 붙여 그래프를 선택한 상태로 실행하면 깨끗한 그래프로 자동 변경됩니다.

research_paper_graph.bas
Option Explicit

Sub SimpleGraph_szkh_plotonly()
' グラフを作成し、選択した状態で実行してください。


With ActiveChart
' ----- タイトル ----- '
    .HasTitle = False
' ----- 凡例 ----- '
    .HasLegend = False
' ----- 横軸の名前 -----'
    .Axes(xlCategory).HasTitle = False
' ----- 縦軸の名前 -----'
    .Axes(xlValue).HasTitle = False

    .SetElement (msoElementPrimaryCategoryAxisNone)
    .SetElement (msoElementPrimaryValueAxisNone)
    ' 外枠と内枠の位置です
'    ' 1pt = 0.35mm 100pt = 3.5cm
'    ' 1 mm = 2.83pt 1cm =28.3pt
    .ChartArea.Height = 203
    .ChartArea.Width = 298
    '過剰に大きくし、開始点も外にすることで外枠をなくしています。
    .PlotArea.Height = 500
    .PlotArea.Width = 500
    .PlotArea.Top = -10
    .PlotArea.Left = -10

    ' 背景色です
        '透明にするならFalse
    .ChartArea.Format.Fill.Visible = False
'    .ChartArea.Format.Fill.ForeColor.RGB = RGB(255, 255, 255)
'    .PlotArea.Format.Fill.Visible = True
    .PlotArea.Format.Fill.ForeColor.RGB = RGB(255, 255, 255)

    ' 枠線
    .PlotArea.Format.Line.Style = msoLineSingle
    .PlotArea.Format.Line.Visible = False ' Falseで線なしになります
    .ChartArea.Format.Line.Visible = False ' Falseで線なしになります
    .PlotArea.Format.Line.Weight = 2
    .PlotArea.Format.Line.ForeColor.RGB = RGB(0, 0, 0)

    ' 目盛線(グリッド)
    .Axes(xlCategory).HasMajorGridlines = False
    .Axes(xlValue).HasMajorGridlines = False

    ' 目盛り xlTickMark*** : 末尾はInside, Outside, Cross, None
    .Axes(xlCategory).MajorTickMark = xlTickMarkNone ' 横軸
    .Axes(xlValue).MajorTickMark = xlTickMarkNone ' 縦軸

    ' 横軸 線の太さと色
'    .Axes(xlCategory).Format.Line.Weight = 0
'    .Axes(xlCategory).Format.Line.ForeColor.RGB = RGB(255, 255, 255)

    ' 縦軸 線の太さと色
'    .Axes(xlValue).Format.Line.Weight = 0
'    .Axes(xlValue).Format.Line.ForeColor.RGB = RGB(255, 255, 255)

' ----- 横軸のスケール -----'
    ' 種類 xlTickLabelPosition*** : 末尾はNextToAxis, High, Low, None
'   .Axes(xlCategory).TickLabelPosition = xlTickLabelPositionNone

'    .Axes(xlCategory).TickLabels.Offset = 100 ' 軸からの距離 0~1000 [%]
'    .Axes(xlCategory).TickLabels.Orientation = 0 ' スケールの向き -90~90 [degree]

'    .Axes(xlCategory).MinimumScale = 300 ' 最小値
'    .Axes(xlCategory).MaximumScale = 700 ' 最大値
'    .Axes(xlCategory).MajorUnit = 100  ' 刻み
'    .Axes(xlCategory).TickLabels.NumberFormat = "0" ' 数値の表示形式  少数点以下の桁数を指定できます。

' ----- 縦軸のスケール -----'
    ' 種類 xlTickLabelPosition*** : 末尾はNextToAxis, High, Low, None
'    .Axes(xlValue).TickLabelPosition = xlTickLabelPositionNone
'
'    .Axes(xlValue).TickLabels.Offset = 100 ' 軸からの距離 0~1000 [%]
'    .Axes(xlValue).TickLabels.Orientation = 0 ' スケールの向き -90~90 [degree]
'
'    .Axes(xlValue).MinimumScale = 0 ' 最小値
'    .Axes(xlValue).MaximumScale = 1.7 ' 最大値
'    .Axes(xlValue).MajorUnit = 0.2  ' 刻み
'    .Axes(xlValue).TickLabels.NumberFormat = "0" ' 数値の表示形式 少数点以下の桁数を指定できます。
'
'' ----- 軸の交点 ----- '
'    .Axes(xlCategory).CrossesAt = 0 ' 横軸の交点
'    .Axes(xlValue).CrossesAt = 0 ' 縦軸の交点
'
'' ----- 軸の反転 ----- '
'    .Axes(xlCategory).ReversePlotOrder = False ' 横軸
'    .Axes(xlValue).ReversePlotOrder = False ' 縦軸

' ----- 対数軸 ----- '
' 対数にするときは以下4行を使ってください
'    .Axes(xlCategory).ScaleType = xlScaleLogarithmic ' 横軸
'    .Axes(xlValue).ScaleType = xlScaleLogarithmic ' 縦軸
'    .Axes(xlCategory).LogBase = 10 ' 対数の底 横軸
'    .Axes(xlValue).LogBase = 10 ' 対数の底 縦軸
' 線形に戻したいときは以下2行を使ってください
'    .Axes(xlCategory).ScaleType = xlScaleLinear ' 横軸
'    .Axes(xlValue).ScaleType = xlScaleLinear ' 縦軸
' ----- ----- ----- ----- '
    .ChartArea.Height = 203
    .ChartArea.Width = 298
    '過剰に大きくし、開始点も外にすることで外枠をなくしています。
    .PlotArea.Height = 500
    .PlotArea.Width = 500
    .PlotArea.Top = -10
    .PlotArea.Left = -10
End With

Dim cho As ChartObject
For Each cho In 
  ActiveSheet.ChartObjects
    cho.Placement = xlFreeFloating
  Next cho

End Sub


각 코드 부분에 대한 설명은 이 기사을 참조하십시오.

사용해 보았습니다.



프레임 가득 플롯 영역을 확대하여 파워 포인트에서 크기를 조정하기 쉬워집니다.


끝에



이번은 「엑셀로 간단하게 논문용의 그래프 작성(차트 에리어와 플롯 에리어의 고민으로부터 안녕)」이라고 하는 기사를 썼습니다. 엑셀만이나, python에서의 그래프 작성에서는 가려운 곳에 손이 닿지 않는 것이 있어, 파워 포인트로 작성하는 분은 많다고 생각합니다. 그러나 엑셀 그래프는 차트 영역과 플롯 영역으로 나뉘어져 크기를 제어하기가 어렵습니다. 그래서, 본 방법을 사용하는 것으로 간단하게 사이즈 변경이 가능한 그래프를 작성할 수 있다고 생각합니다.
내 블로그 에서는 보다 상세한 정보나, 화학계의 그래프 작성 방법 등 폭넓게 소개하고 있으므로 꼭 참고해 보세요.

참고



htps : // 코 m / 타카시 p 로g 라민 g / ms / 00c17295c 05d216414 Excel에서 원하는대로 그래프 자동 생성

h tps // 에후 ぃ ぇ m. bgs포 t. 코m/ 내 블로그

좋은 웹페이지 즐겨찾기