我是第一次使用python。我有一个csv文件,其中包含几列数据:位置,高度,密度,日等...我正在绘制高度(i_h100)v密度(i_cd),并使用以下代码成功将高度限制为低于50的值。我现在想将y轴上的值限制在某个“天”范围内,例如(85-260)。我不知道该怎么做。
import pandas
import matplotlib.pyplot as plt
data=pandas.read_csv('data.csv')
data.plot(kind='scatter',x='i_h100',y='i_cd')
plt.xlim(right=50)
答案 0 :(得分:1)
使用.loc
对进入图表的数据进行子集化。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Make some dummy data
np.random.seed(42)
df = pd.DataFrame({'a':np.random.randint(0,365,20),
'b':np.random.rand(20),
'c':np.random.rand(20)})
# all data: plot of 'b' vs. 'c'
df.plot(kind='scatter', x='b', y='c')
plt.show()
# use .loc to subset data displayed based on value in 'a'
# can also use .loc to restrict values of 'b' displayed rather than plt.xlim
df.loc[df['a'].between(85,260) & (df['b'] < 0.5)].plot(kind='scatter', x='b', y='c')
plt.show()