23.2.1 例: よくある点形状 (Example: custom point shapes)

マークの定義を作成する線分と閉領域は、座標 [x,y] 群を与えるか、または パラメータ関数 x(t),y(t) を与えるかによって指定できます。コマンド set mark は、それが単に、データやパラメータ関数の描画するコマンド plot のように作用する、という見方もできます。実際、コマンド set mark は、コマンド plot と同じ入力コードレイヤを使用しています。 set mark は、識別用に関連するタイトルも持つことができます。 それがどのように機能するかについての詳細は、以下参照: set mark (116.50)

以下の例は、4 つのマークを定義しています。それぞれ背景色で塗り潰す形状 で、デフォルトで点種として利用可能な形状を補うものとして利用できます。 2 つのマークは座標の配列で定義され、残りの 2 つはパラメータ定義です。


    FILLSTROKE = 3     # 線と塗り潰し属性の両方を持つことを指示
    array Square = [{-1,-1}, { 1,-1}, { 1, 1}, {-1, 1}, {-1,-1}]
    array Triangle = [{0,1.2}, {1.04,-0.6}, {-1.04,-0.6}, {0,1.2}]
    set mark 1 Square   using 2:3:(FILLSTROKE) fc bgnd title "square"
    set mark 2 Triangle using 2:3:(FILLSTROKE) fc bgnd title "triangle"
    set angle degrees
    set mark 3 [0:360:10] '+' using (sin($1)):(cos($1)):(FILLSTROKE) \
                           title "circle"  fc bgnd
    set mark 4 [0:360:72] '+' using (sin($1)):(cos($1)):(FILLSTROKE) \
                           title "pentagon" fc bgnd
    unset angle

\includegraphics[width=3in,keepaspectratio]{figure_markpoints}
既存のデフォルト点種を plot コマンドで "with linespoints pt N" として 使用するように、新しいマークを "with linesmarks marktype N" として plot コマンドで利用できます。ここで紹介していませんが、入力データの追 加列で形状を選択していれば marktype variable も利用可能です。 以下のデモには、この例を拡張したものが含まれています。 extra_points.dem


    set title "Custom point shapes defined as marks"
    plot for [M=1:4] -sin(x/M) with linesmarks marktype M

竹野茂治@新潟工科大学
2025-02-26