4

ホストを使用してグラフをプロットしてきましたが、x 軸から 10 進数を削除したいと考えています。以下の私のコードはちょっと単純化されており、必要なものを表しています。x 範囲を RUNS ベクトルとまったく同じにしたい。どうもありがとう。

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import host_subplot
import numpy as np
import mpl_toolkits.axisartist as AA
import matplotlib.gridspec as gridspec

gs = gridspec.GridSpec(2, 1, height_ratios=[1, 1])

RUNS = [1,2,3,4,5]
NV = [26.3, 28.4, 28.5, 28.45, 28.5]

host = host_subplot(gs[0], axes_class = AA.Axes)
host.set_xlabel("Iteration")
host.set_ylabel("Stress (MPa)")
sv, = host.plot(RUNS,NV, marker = 'o', color = 'gray')

plt.grid(True)
plt.show()
4

2 に答える 2

9

MaxNLocatorメジャー ティック ラベルを整数に設定するために使用することもできますが、単純なほど静かではありません。

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import host_subplot
import numpy as np
import mpl_toolkits.axisartist as AA
import matplotlib.gridspec as gridspec
from matplotlib.ticker import MaxNLocator  ## Import MaxNLocator

gs = gridspec.GridSpec(2, 1, height_ratios=[1, 1])

RUNS = [1,2,3,4,5]
NV = [26.3, 28.4, 28.5, 28.45, 28.5]



host = host_subplot(gs[0], axes_class = AA.Axes)
host.set_xlabel("Iteration")
host.set_ylabel("Stress (MPa)")

x_ax = host.axes.get_xaxis()  ## Get X axis
x_ax.set_major_locator(MaxNLocator(integer=True))  ## Set major locators to integer values

sv, = host.plot(RUNS,NV, marker = 'o', color = 'gray')

plt.grid(True)
plt.show()
于 2013-07-10T16:05:34.963 に答える
6

プロットを表示する前に、目盛りラベルを明示的に設定できます。

plt.xticks(RUNS)
于 2013-07-10T15:30:30.583 に答える